用汇编语言:变量ABC分别存放300,301,302(结果F放在310) (1)逻辑运算 F=AB+C' (2)算术运算 F=4*A+B+(C/2)
发布网友
发布时间:2023-04-25 09:00
我来回答
共1个回答
热心网友
时间:2023-10-15 04:58
DATAS SEGMENT
ORG 300 ;下面地址偏移从300开始,相当于A的存放地址为012CH=300
A DB ?;地址012CH=300
B DB ?;地址012DH=301
D DB ?;地址012EH=302
X DB 7 DUP (?)
F DB ?;内存单元地址为0136H=310
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
MOV AL,A;把A的内容送到寄存器AL中
MOV BL,B
AND AL,BL;逻辑与A&B
MOV BL,D
OR AL,BL;逻辑或
ADD AL,30H;把结果转换成ascii码
MOV F,AL;把F=AB+C放在sbuff中
MOV DL,F;显示结果
MOV AH,02
INT 21H;显示结束
MOV DL,0DH;换行
MOV AH,02
INT 21H
MOV DL,0AH
MOV AH,02
INT 21H;换行结束
MOV AL,A
MOV CL,2
SHL AL,CL;向逻辑左移动2位,相当于4A
MOV DL,D
SHR DL,1
MOV BL,B
ADD AL,BL
ADD AL,DL
ADD AL,30H;把结果转换成ascii码
MOV F+1,AL;把结果放在311单元中
MOV DL,F+1;显示结果
MOV AH,02
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
不知道这是不是你需要的答案?