📄 sample.asm
字号:
.MODEL SMALL, C
EXTRN printf:NEAR
STACKSG SEGMENT STACK 'S'
DW 128 DUP(?)
STACKSG ENDS
DATA SEGMENT WORD PUBLIC 'WORD'
PRN_STR DB 'Set %s = %d', 13, 10, 0
N_0 DB 'sum', 0
D_0 DW 0
N_1 DB 'temp', 0
D_1 DW 0
N_2 DB 'test$1', 0
D_2 DW 0
DATA ENDS
DGROUP GROUP DATA
CODE SEGMENT WORD PUBLIC 'CODE'
MAIN PROC NEAR
ASSUME CS:CODE, DS:DGROUP, SS:STACKSG
;赋值开始
;四则表达式开始
MOV SI, 10
PUSH SI
;四则表达式结束
POP AX
MOV D_0, AX
;调用printf输出开始
PUSH AX
LEA BX, N_0
PUSH BX
LEA BX, PRN_STR
PUSH BX
CALL printf
ADD SP, 6
;调用printf输出结束
;赋值结束
;赋值开始
;四则表达式开始
MOV SI, -6
PUSH SI
;四则表达式结束
POP AX
MOV D_1, AX
;调用printf输出开始
PUSH AX
LEA BX, N_1
PUSH BX
LEA BX, PRN_STR
PUSH BX
CALL printf
ADD SP, 6
;调用printf输出结束
;赋值结束
WB_0:
;比较表达式开始
MOV SI, [D_1]
PUSH SI
MOV SI, [D_0]
PUSH SI
POP BX
POP AX
CMP AX, BX
JNL WE_0
;比较表达式结束
;赋值开始
;四则表达式开始
MOV SI, [D_1]
PUSH SI
MOV SI, 3
PUSH SI
POP BX
POP AX
ADD AX, BX
PUSH AX
;四则表达式结束
POP AX
MOV D_1, AX
;调用printf输出开始
PUSH AX
LEA BX, N_1
PUSH BX
LEA BX, PRN_STR
PUSH BX
CALL printf
ADD SP, 6
;调用printf输出结束
;赋值结束
JMP WB_0
WE_0:
WB_1:
;比较表达式开始
MOV SI, 200
PUSH SI
MOV SI, [D_0]
PUSH SI
POP BX
POP AX
CMP AX, BX
JNG WE_1
;比较表达式结束
;赋值开始
;四则表达式开始
MOV SI, [D_0]
PUSH SI
MOV SI, [D_1]
PUSH SI
MOV SI, 3
PUSH SI
POP BX
POP AX
IMUL BX
XOR DX, DX
PUSH AX
POP BX
POP AX
ADD AX, BX
PUSH AX
MOV SI, -7
PUSH SI
POP BX
POP AX
SUB AX, BX
PUSH AX
;四则表达式结束
POP AX
MOV D_0, AX
;调用printf输出开始
PUSH AX
LEA BX, N_0
PUSH BX
LEA BX, PRN_STR
PUSH BX
CALL printf
ADD SP, 6
;调用printf输出结束
;赋值结束
JMP WB_1
WE_1:
;赋值开始
;四则表达式开始
MOV SI, [D_0]
PUSH SI
MOV SI, 5
PUSH SI
POP BX
POP AX
XOR DX, DX
IDIV BX
PUSH AX
MOV SI, 5
PUSH SI
MOV SI, [D_1]
PUSH SI
POP BX
POP AX
IMUL BX
XOR DX, DX
PUSH AX
POP BX
POP AX
ADD AX, BX
PUSH AX
MOV SI, 8
PUSH SI
POP BX
POP AX
SUB AX, BX
PUSH AX
MOV SI, 6
PUSH SI
POP BX
POP AX
ADD AX, BX
PUSH AX
;四则表达式结束
POP AX
MOV D_2, AX
;调用printf输出开始
PUSH AX
LEA BX, N_2
PUSH BX
LEA BX, PRN_STR
PUSH BX
CALL printf
ADD SP, 6
;调用printf输出结束
;赋值结束
MOV AX, 4C00H
INT 21H
MAIN ENDP
CODE ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -