用汇编语言:变量ABC分别存放300,301,302(结果F放在310) (1)逻辑运算 F=AB+C' (2)算术运算 F=4*A+B+(C/2)
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 11:50:32
用汇编语言:变量ABC分别存放300,301,302(结果F放在310) (1)逻辑运算 F=AB+C' (2)算术运算 F=4*A+B+(C/2)
用汇编语言:变量ABC分别存放300,301,302(结果F放在310) (1)逻辑运算 F=AB+C' (2)算术运算 F=4*A+B+(C/2)
用汇编语言:变量ABC分别存放300,301,302(结果F放在310) (1)逻辑运算 F=AB+C' (2)算术运算 F=4*A+B+(C/2)
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
不知道这是不是你需要的答案?