微机原理上机作业编写8086汇编程序将寄存器AX的高8位传送到寄存Word下载.docx
《微机原理上机作业编写8086汇编程序将寄存器AX的高8位传送到寄存Word下载.docx》由会员分享,可在线阅读,更多相关《微机原理上机作业编写8086汇编程序将寄存器AX的高8位传送到寄存Word下载.docx(8页珍藏版)》请在冰豆网上搜索。
MOVCL,04
ADDAL,DL
ADDBL,DL
ANDAL,0FH
ANDBL,0F0H
SHLBL,CL
MOVCL,0
ADDCL,DH
ADDDL,DH
ANDCL,0FH
ANDDL,0F0H
MOVAH,CL
MOVCL,4
SHLDL,CL
MOVCL,AH
3、判断MEN单元的数据,编程将奇数存入MENA单元,将偶数存入MENB单元。
DATASSEGMENT
MEN
DW
11H,12H,13H,14H,15H,16H
MENA
DW5DUP(?
)
MENB
DATASENDS
CODESSEGMENT
CODES,DS:
DATAS
MOVAX,DATAS
MOVDS,AX
MOVCX,6
MOVSI,OFFSETMEN
AA1:
MOV
BX,[SI]
INC
SI
TEST
BX,0001H
JZ
AA2
MOV
MENA,BX
LOOP
AA1
AA2:
MENB,BX
MOV
AH,4CH
INT
21H
CODESENDS
4、试统计9个数中的偶数的个数,并将结果在屏幕上显示。
DATADB1,4,5,13,16,21,28,35,41;
STACKSSEGMENT;
STACKSENDS
DATAS,SS:
STACKS
MOVAX,DATAS
MOVCX,9
MOVDX,0
LEASI,DATA
PANDUAN:
MOVAL,[SI]
SHRAL,1
JC
NEXT
INCDL
NEXT:
INCSI
LOOPPANDUAN
CMPCX,0
JNZ
PANDUAN
MOVAH,02H
ADDDL,30H
INT21H;
MOVAH,4CH
INT21H
5、试将一串16位无符号数加密,加密方法是将每个数乘2。
STRING1DB'
1234567891234567$'
STRING2DB16DUP(?
MOVES,AX
MOVCX,16
LEASI,STRING1
LEADI,STRING2
L:
LODSB
SHLAL,1
STOSB
LOOPL
6、根据DL寄存器的D3位,完成两个压缩BCD数X和Y的加减运算。
D3=0时,作加法;
D3=1时,作减法,并将结果存入寄存器DL。
XDB2
YDB1
STACKSSEGMENT
MOVAL,Y
TESTDL,08H
JIA
SBBAL,X
DAS
JMPJIAN
JIA:
ADCAL,X
DAA
MOVDL,AL
JMPLOP
JIAN:
MOVDL,AL
JMPLOP
LOP:
7、统计BLOCK1和BLOCK2两个单元数据中,对应位不同的有多少位?
BLOCK1DB'
123456789'
BLOCK2DB'
987456123'
MOVBX,0
LEASI,BLOCK1
LEADI,BLOCK2
LODSB
CMPAL,[DI]
JE
INCBX
INCDI
DECCL
JNZLOP
MOVAH,2
ADDBL,30H
MOVDL,BL
8、完成10个压缩BCD数相加,且将结果显示出来。
DATADB0,1,2,3,4,5,6,7,8,9;
MOVCX,10
ADCAL,[SI]
JMPNEXT
LOOPLOP
MOVBL,AL
SHRAL,CL
ADDAL,30H
ANDBL,0FH
9、编写程序,将一串凌乱的字母按从小到大的顺序排列。
DATA
DB
'
gfed$'
SI,1
LOP1:
DI,SI
DI
AL,DATA[SI-1]
LOP2:
CMP
AL,DATA[DI-1]
JBE
LOP3
XCHG
DATA[DI-1],AL
DATA[SI-1],AL
LOP3:
INC
CMP
DI,4
LOP2
SI,3
LOP1
SHOW:
AH,9
DX,OFFSETDATA
21H
试编程统计寄存器AX