微机原理实验代码详解
实验一
分析并对比以下各程序段运行的结果。
1.两种加法指令比较
(1) STC
MOV AL,50H
MOV BL,60H
ADD AL,BL
(2)STC
MOV AL,50H
MOV BL,60H
ADC AL,BL
2.两种加1指令比较
(1) MOV AL,0FFH
INC AL
(2) MOV AL,0FFH
ADD AL,1
3.两种乘法指令比较
(1) MOV AL,0FFH
MOV BL,0FFH
MUL BL
(2) MOV AL,0FFH
MOV BL,0FFH
IMUL BL
4.逻辑指令比较
(1) MOV AL,55H
AND AL,0FH
(2) MOV AL,55H
OR AL,0FH
(3) MOV AL,55H
XOR AL,0FH
(4) MOV AL,55H
TEST AL,0FH
5.移位指令比较
(1) MOV AL,55H
SHL AL,1
(2) MOV AL,55H
SHR AL, 1
(3) MOV AL,55H
SAR AL, 1
(4) STC
MOV AL,55H
ROL AL, 1
(5) STC
MOV AL,55H
ROR AL, 1
(6) STC
MOV AL,55H
RCL AL, 1
(7) STC
MOV AL,55H
RCR AL, 1
在数据段中定义变量X、Y、Z、RESULT,计算X+Y-Z,结果存入数据段中的单元中。其中X、Y、Z均为32位带符号数。
DATAS SEGMENT ;数据段
;请在这里定义您的数据
X DD
Y DD
Z DD
RESULT DD ?
DATAS ENDS
CODES SEGMENT ;代码段
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS ;初始化
MOV DS,AX
;请在这里添加您的代码
MOV AX,WORD PTR X[0]
MOV BX,WORD PTR X[2]
MOV CX,WORD PTR Y[0]
MOV DX,WORD PTR Y[2]
ADD AX,CX
ADC BX,DX
MOV CX,WORD PTR Z[0]
MOV DX,WORD PTR Z[2]
SUB AX,CX
SBB BX,DX
MOV WORD PTR RESULT[0],AX
MOV WORD PTR RESULT[2],BX
;MOV ;退出程序
INT 21H
CODES ENDS
END START
实验二
1.编写程序完成下列算式:
DATAS SEGMENT ;数据段
;请在这里定义您的数据
X DB 10
Y DB ?
DATAS ENDS
CODES SEGMENT ;代码段
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS ;初始化