DAW1和DAW2分别是两个字单元的符号地址,DAW1双字除以字DAW2(用DIV),写出指令序列
时间: 2023-06-15 11:05:36 浏览: 51
假设DAW1的地址为0x1000,DAW2的地址为0x1002,则指令序列如下:
```
MOV AX, [0x1000] ; 将DAW1双字的值读入AX寄存器
MOV DX, [0x1002] ; 将DAW2字的值读入DX寄存器
DIV DX ; 将AX寄存器的值除以DX寄存器的值,商放在AX寄存器,余数放在DX寄存器
```
执行完这个指令序列,AX寄存器中就是DAW1双字除以DAW2字的结果。
相关问题
DAW1和DAW2分别是两个字单元的符号地址,DAW1双字除以字DAW2(用DIV),不用假设地址的方法写出指令序列
假设DAW1的地址为1000H,DAW2的地址为1002H,指令序列如下:
```
MOV AX, [1000H] ; 将DAW1双字的高位字存入AX寄存器
MOV DX, 0 ; 清空DX寄存器,用于存放余数
DIV WORD PTR [1002H] ; 将DAW1双字除以DAW2字,商存入AX,余数存入DX
```
解释:
首先,我们需要将DAW1双字的高位字存入AX寄存器中,这里使用MOV指令,从DAW1的地址1000H处读取16位双字的高位字,存入AX寄存器。
然后,我们需要使用DIV指令进行除法运算,将DAW1双字除以DAW2字,商存入AX寄存器,余数存入DX寄存器。在这里我们使用了WORD PTR来指示我们需要读取16位的数据,而不是默认的8位。
最后得到的商会存储在AX中,余数会存储在DX中。
不用假设方法,DAW1和DAW2分别是两个字单元的符号地址,DAW1双字除以字DAW2(用DIV),写出指令序列
假设DAW1的符号地址为1000H,DAW2的符号地址为1002H,则指令序列如下所示:
```
MOV AX, [1000H] ; 将DAW1的值加载到AX寄存器
MOV DX, [1002H] ; 将DAW2的值加载到DX寄存器
DIV DX ; 将AX和DX的值相除,商保存在AX,余数保存在DX
```
注意,这里使用了DIV指令进行除法运算,因为DAW1是双字,需要用AX寄存器来存储它的值。如果DAW1是单字,那么可以直接使用MOV指令将它的值加载到AL寄存器中,然后使用DAA指令进行除法运算。
阅读全文