3.利用DEBUG学习寻址方式、指令系统(示例)D:>DEBUG 进入DEBUG-AN汇编指令126C:0100MOVBX.2000126C:0103MOV[BX],CS126C:0105-R查看指令执行前寄存器的内容AX-0000BX=0000CX=0000DX=0000SP-FFEEBP=0000SI=0000DI-0000DS=126C ES=126C SS-126CCS-126C JIP-0100NVUPEIPLNZNAPONCMOV126C:0100B83412AX,1234-D DS:2000 L20 K查看指令执行前内存单元的内容126C:2000 000 44 CD 21 88 16 34 DB-F6 C2 80 74 33 A0 33 D4.D.!..4....t3.3.126C:2010 24 0C 7509A051DC0A-06 4DDC74 19 7A21A8S.u..0...M.t.z-TR单步执行指令AX-0000CX=0000BX=2000DX=0000SP=FFEEBP=0000SI-0000DI=0000DS=-126C ES=126C SS=126CCS-126CIP=0103NVUPEIPLNZNAPONCMOV126C:01038C0F[BX],CSDS:2000=4400-TA;单步执行指令AX-0000BX-2000CX=0000DX-0000SP-FFEEBP=0000SI=0000DI=0000DS=126CES=126CSS=126CCS=126CIP=0105NVUPEIPLNZNAPONC126C:01050475ADDAL,75-DDS:2000L102查看指令执行后内存单元的内容126C:2000 6C 12 CD 2188 16 34 DB-F6 C2 80 74 33A0 33 D4 1.....4....t3.3.-Qα
3. 利用DEBUG学习寻址方式、指令系统(示例) D:\>DEBUG ;进入DEBUG -A ;汇编指令 126C:0100 MOV BX, 2000 126C:0103 MOV [BX], CS 126C:0105 -R ;查看指令执行前寄存器的内容 AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=126C ES=126C SS=126C CS=126C IP=0100 NV UP EI PL NZ NA PO NC 126C:0100 B83412 MOV AX,1234 -D DS:2000 L20 ;查看指令执行前内存单元的内容 126C:2000 00 44 CD 21 88 16 34 DB-F6 C2 80 74 33 A0 33 D4 .D.!.4.t3.3. 126C:2010 24 0C 75 09 A0 51 DC 0A-06 4D DC 74 19 7A 21 A8 $.u.Q.M.t.z!. -T ;单步执行指令 AX=0000 BX=2000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=126C ES=126C SS=126C CS=126C IP=0103 NV UP EI PL NZ NA PO NC 126C:0103 8C0F MOV [BX],CS DS:2000=4400 -T ;单步执行指令 AX=0000 BX=2000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=126C ES=126C SS=126C CS=126C IP=0105 NV UP EI PL NZ NA PO NC 126C:0105 0475 ADD AL,75 -D DS:2000 L10 ;查看指令执行后内存单元的内容 126C:2000 6C 12 CD 21 88 16 34 DB-F6 C2 80 74 33 A0 33 D4 l.!.4.t3.3. -Q
4.指令中操作数的表示符号表示内容data立即数操作数通用寄存器操作数reg8 位:AH、AL、BH、BL、CH、CL、DH、DL16位:AX、BX、CX、DX、BP、SP、SI、DI段寄存器CS、DS、SS、ESsegregmem存储器操作数(5种寻址方式)或【]源操作数srcdst目的操作数()寄存器、存储器、端口的内容oprd1两操作数oprd2
4. 指令中操作数的表示 符号 表示内容 data 立即数操作数 reg 通用寄存器操作数 8 位:AH、AL、BH、BL、CH、CL、DH、DL 16 位:AX、BX、CX、DX、BP、SP、SI、DI segreg 段寄存器 CS、DS、SS、ES mem 或 [ ] 存储器操作数(5 种寻址方式) src 源操作数 dst 目的操作数 ( ) 寄存器、存储器、端口的内容 oprd1 oprd2 两操作数
5.书写指令注意事项:不区分字母的大小写。下列写法表示同一条指令:MOV AX.1ABDH1abdhmovax,不添加指令系统没有的指令,即不自创助记符写成将MOV AL,0MOVE AL.0写成JMP lableJUMP lable
5. 书写指令注意事项: ⚫不区分字母的大小写。 下列写法表示同一条指令: MOV AX, 1ABDH mov ax, 1abdh ⚫不添加指令系统没有的指令,即不自创助记符。 将 MOV AL , 0 写成 MOVE AL,0 JMP lable 写成 JUMP lable
注意操作数的范围对字节操作指令 0~FFH0 ~ 255对字操作指令0 ~ FFFFH 0 ~ 65535MOVAL 260MOVAX ,70000MOVAL,1FFHAL,MOV2ABCDH
⚫ 注意操作数的范围 对字节操作指令 0 ~ FFH 0 ~ 255 对字操作指令 0 ~ FFFFH 0 ~ 65535 MOV AL , 260 MOV AX ,70000 MOV AL, 1FFH MOV AL, 2ABCDH
对无操作数指令,不添加操作数。STC AL对单操作数指令,操作数不能是立即数XIMUL 6
⚫ 对无操作数指令,不添加操作数。 STC AL ⚫ 对单操作数指令,操作数不能是立即数。 IMUL 6