8085程序演示8位数高低字节的掩码操作
在这个程序中,我们将学习如何在8085中掩盖高低字节。
问题陈述
编写8085汇编语言程序,对8位数的高低字节进行掩码操作。该数字存储在8000H位置。高低字节将分别存储在8001H和8002H位置。
讨论
掩码操作基本上是两个数字的AND运算。当我们想要掩盖一个8位数(例如2D(0010 1101))的高字节时,我们将与0F(0000 1111)进行AND运算,结果将得到0D(0000 1101)。通过与F0(1111 0000)进行掩码操作,结果将为20(0010 0000)。现在通过右移高字节,我们将得到02(0000 0010)。
输入
地址 | 数据 |
---|---|
… | … |
8000 | AB |
流程图
程序
地址 | 十六进制代码 | 标号 | 助记符 | 注释 |
---|---|---|---|---|
F000 | 21, 00, 80 | | LXI H,8000H | 初始化HL寄存器对以获取数字 |
F003 | 7E | | MOV A,M | 将内存中的数字取到累加器A |
F004 | 47 | | MOV B,A | 将A寄存器的内容存储到B寄存器 |
F005 | E6, 0F | | ANI 0FH | 通过掩码操作获取低字节。 |
F007 | 23 | | INX H | 指向下一个位置 |
F008 | 77 | | MOV M,A | 将低字节存储到内存 |
F009 | 78 | | MOV A,B | 将B寄存器的内容取到A寄存器 |
F00A | E6, F0 | | ANI F0H | 通过掩码操作获取高字节。 |
F00C | 0F | | RRC | 累加器A右移四次 |
F00D | 0F | | RRC | |
F00E | 0F | | RRC | |
F00F | 0F | | RRC | |
F010 | 23 | | INX H | 指向下一个位置 |
F011 | 77 | | MOV M,A | 将高字节存储到内存 |
F012 | 76 | | HLT | 终止程序 |
输出
地址 | 数据 |
---|---|
8001 | 0D |
8002 | 02 |
… | … |
广告