[英]numerical base conversion on Intel 8086
我正在研究數字基本轉換程序,我在代碼的一部分偶然發現了一個問題:
mov ax,36864
mov bx,ax
mov dx,0
sub bx,4096
jns ustawGr
mov al,48
int 29h
jmp konwerter16
它適用於高達36863的數字,但由於某種原因它不會進入ustawGr
並為任何更高的數字打印0
,即使寄存器應該能夠包含它。
36864 - 4096
是0x9000 - 0x1000 == 0x8000
。 在二進制補碼表示中, 0x8000
是最大的負16位數( -32768
)。 由於該值為負,因此不會采用您的jns
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.