STACK SEGMENT STACK DW 32 DUP(?) 例、两个数据交换。 STACK ENDS DATA SEGMENT DTI DB llH DT2 DB 22H DATA ENDS CODE SEGMENT BEGIN PROC FAR ASSUME CS: CODE, SS: STACK, DS: DATA PUSH DS SUB AX, AX PUSH AX MOV AX, DATA MOV DS, AX MOⅤAL,DT1 RET MOV AH, DT2 BEGIN ENDP MOV DTI, AH CODE ENDS MOV DT2. AL END BEGIN
STACK SEGMENT STACK DW 32 DUP(?) STACK ENDS DATA SEGMENT : DATA ENDS CODE SEGMENT BEGIN PROC FAR ASSUME CS:CODE,SS:STACK,DS:DATA PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX : RET BEGIN ENDP CODE ENDS END BEGIN 例、两个数据交换。 DT1 DB 11H DT2 DB 22H MOV AL,DT1 MOV AH,DT2 MOV DT1,AH MOV DT2, AL
STACK SEGMENT STACK DW 32 DUP(?) 上机调试作业, STACK ENDS 如:P32、17 DATA SEGMENT DATA ENDS CODE SEGMENT BEGIN PROC FAR ASSUME CS: CODE, SS: STACK, DS: DATA PUSH DS SUB AX, AX MOV AX, 1122H PUSH AX MOV BX, 3344H MOV AX, DATA MOV CX, 5566H MOV DS, AX PUSH AX PUSH BX PUSH CX RET POP BX BEGIN ENDP POP AX CODE ENDS POP DX END BEGIN
STACK SEGMENT STACK DW 32 DUP(?) STACK ENDS DATA SEGMENT DATA ENDS CODE SEGMENT BEGIN PROC FAR ASSUME CS:CODE,SS:STACK,DS:DATA PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX : RET BEGIN ENDP CODE ENDS END BEGIN 上机调试作业, 如:P32、17. MOV AX,1122H MOV BX,3344H MOV CX,5566H PUSH AX PUSH BX PUSH CX POP BX POP AX POP DX
三、常量(P34) 1、常量一常数和符号常量—主要给变量 赋初值或指令中立即数等 常数一汇编中允许的常数有二进制,十 进制,十六进制,字符串(ASCI码字符, 用单引号表示,如:’ABC 符号常量一程序中可以给常数取名 用FQU或“=“伪指令定义
三、常量(P34) 1、常量 — 常数和符号常量—主要给变量 赋初值或指令中立即数等。 • 常数—汇编中允许的常数有二进制,十 进制,十六进制,字符串(ASCII码字符, 用单引号表示,如:’ABC’)。 • 符号常量—程序中可以给常数取名。 用EQU或“=“伪指令定义
格式:〈标识符〉EQU〈表达式〉→数值表达式 〈标识符〉=〈表达式 例: AA EQU10 BB EQU 2*AA+3 CC=66 MOV AX, AA AX=10 MOV AX, BB: AX=23 MOV AX, CC AX=66 注:AA,BB,CC为立即数
格式:〈标识符〉EQU〈表达式〉→数值表达式 〈标识符〉=〈表达式〉 例: AA EQU 10 BB EQU 2*AA+3 CC = 66 MOV AX,AA ;AX=10 MOV AX, BB ;AX=23 MOV AX, CC ;AX=66 注:AA,BB,CC为立即数
2、数值表达式一由常量与运算符组成的有意义 的式子,结果为数值。 在MASM中允许对常量进行三种类型的运算: (1)算术运算一+,一,*,/,MOD(求余) SHR(右移),SHL(左移) 如: AA EQU10, 则表达式→AA大3+2→32,可以作为操作 数
2、 数值表达式—由常量与运算符组成的有意义 的式子,结果为数值。 在MASM中允许对常量进行三种类型的运算: (1)算术运算—+,-,* ,/,MOD(求余), SHR(右移),SHL(左移) 如:AA EQU 10, 则表达式→AA * 3+2 →32,可以作为操作 数