早教吧 育儿知识 作业答案 考试题库 百科 知识分享

汇编语言Datasegment;定义三个变量:X1=12h,X2=34h,X3=56hDataendsCodesegmentAssumecs:code,ds:dataStart:;将DATA段初值装载到DS段寄存器中Movax,1111hMovbx,2222hMovdx,3333hMovcx,0CC

题目详情
汇编语言
Data segment
;定义三个变量:X1 =12h, X2 = 34h, X3= 56h
Data ends
Code segment
Assume cs:code,ds:data
Start: ;将DATA段初值装载到DS段寄存器中

Mov ax,1111h
Mov bx,2222h
Mov dx,3333h
Mov cx,0CCCCh
; 1、将寄存器AX、BX和DX内容相加,和放在寄存器DX中,AX、BX中值不变。
;2、将X1的值 送给Y
;3、将X2的值减去AL的值。
;4、求X3的相反数。
;5、将CX的最高位清0.
;6、将CX的最低3位置1.
;7、将CX的第13、14位取反。(最低位为第0位)
;8、将AX逻辑左移2位。
;9、将BX算术右移1位。
;10、将BX循环左移3位。
Jmp $
Code ends
End start
求解答
▼优质解答
答案和解析
1、将寄存器AX、BX和DX内容相加,和放在寄存器DX中,AX、BX中值不变。
mov dl,0;进位单元清0
mov dx,ax;dx=dx+ax
adc dl,0;dl=dl+0+cf
add dx,bx;dx=dx+bx=dx+ax+bx
adc dl,0;dl=dl+0+cf
2、将X1的值 送给Y
mov al,x1;
mov y,al
3、将X2的值减去AL的值。
sub x2,al
4、求X3的相反数。
sub x3,80h;56h的十进制数是86,相反数即-86,换成16进制是D6h,相差80h
5、将CX的最高位清0.
xor ch,ch;异或运算
6、将CX的最低3位置1.
xor cl,03h
7、将CX的第13、14位取反。(最低位为第0位)
xor ch,30h
8、将AX逻辑左移2位。
mov cl,2
shl ax,cl
9、将BX算术右移1位。
sar bx,1
10、将BX循环左移3位。
mov cl,3
rcl bx,cl
学的都忘了,差不多应该是这样,希望对你有帮助