用汇编语言编把DX AX中放的有符号二进制数求绝对值并送入CX BX之中DX CX放高位

来源:百度知道 编辑:UC知道 时间:2024/09/26 03:29:18

; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
Start: mov ax,12345
mov dx,54321
test dx,8000h ;判断正负数
jz Save_another ;正数,直接保存
;负数,取反加1
not ax ;取反
not dx ;取反
add ax,1 ;低位字加1
adc dx,0 ;高位字带进位加0
Save_Another:
mov bx,ax ;低位字送BX保存
mov cx,dx ;高位字送CX保存
mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束

code segment
assume cs:code
start:
mov cx,dx
mov bx,ax
test cx,8000h
jz tj
not cx
not bx
add bx,1
adc cx,0
tj:
mov ax,4c00h
int 21h
code ends
end start

test dx, 0x8000
jz @F
neg dx
@@:
test ax, 0x8000
jz @F
neg ax
@@:
mov cx, dx,
mov bx, ax

这个简单,先做记号