DIV指令练习(div计算datasg段中第一个数据除以第二个数据后的结果,商存在第三个数据的存储单元)

一、代码实现 

 1 ;目的:DIV指令练习
 2 ;编写:Tony
 3 ;语言:asm
 4 ;时间:2020.3.26
 5 
 6 ;要求:div计算datasg段中第一个数据除以第二个数据后的结果,商存在第三个数据的存储单元
 7 
 8 assume cs:codesg,ds:datasg
 9 
10 datasg segment
11     dd 100001    ;该数据大于字型数据的最大值65535,因此需要将此数据存储在双字单元中
12     dw 100        
13     dw 0
14 datasg ends
15 
16 codesg segment
17 start:    mov ax,datasg
18         mov ds,ax
19         
20         mov ax,ds:[0]            ;低16位数据存储在ax中
21         mov dx,ds:[2]            ;高16位数据存储在dx中
22         div word ptr ds:[4]     ;用dx:ax中的32位数据除以ds:[4]字单元中的数据
23         mov ds:[6],ax            ;将商存储在ds:[6]字单元中
24         
25         mov ax,4c00h
26         int 21h
27 
28 codesg ends
29 end start

 二、上机调试

1)单步调试下图命令后查看数据段中的数据

2)next

 DA:AX=186A1,也就是10进制的100001,除以100后,AX=03E8,也就是10进制的1000

3)查看数据段中的第三个存储单元的数据

 4)内存单元中红色框中的数据完全正确,调试结束

猜你喜欢

转载自www.cnblogs.com/TonyJia/p/12565909.html