小编ben*_*enz的帖子

汇编程序 8086 将 32 位数字除以 16 位数字

我尝试将 32 位数字除以 16 位数字。例如 10000000h 除以 2000h。根据我尝试做的设计,我用除数除以 4 个右边的数字,然后用除数除以 4 个左边的数字。

这是我的代码:

.DATA 
num dd 10000000h
divisor dw 2000h 

result dd ? 
remainder dw ? 

.CODE
main:

mov ax,@DATA    
mov ds,ax 

xor dx,dx
mov cx ,word ptr divisor
mov bx,offset num
mov ax,[bx]
div cx

mov bx,offset result 
mov [bx],ax 
mov bx,offset num
mov ax,[bx+2]


mov ax,[bx+2]
div cx 
mov bx,offset result 
mov [bx+2],ax 
Run Code Online (Sandbox Code Playgroud)

我的可变结果为零。不知道是分隔线设计的问题还是只是一个小错误。

x86 assembly division x86-16

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

assembly ×1

division ×1

x86 ×1

x86-16 ×1