buffer5Abuffer5AAbufferAbuffer4Abuffer4AF0CDisplayA9AH
8字节显示缓冲区
先清除显示,再接收键输入按键次数得到双字节十进制数被减数接收到第一个键,才清除显示按键次数得到双字节十进制数减数
减数取补
借位标志
fDisplay
BlackDisplayExitExit1B1toB2
SUBBMOVMOVSUBBXCHADDDAXCHADDCDAMOVMOVMOVACALLMOVACALLMOVINCMOVINCMOVINCMOVMOVMOVACALLMOVLCALLSJMP
MOVJNZMOVMOVDECDJNZJBINCMOVRET
ANLMOVINC
Abuffer5buffer5AA99HAbuffer4Abuffer5A00HAAbuffer5A00HAbuffer4AR0bufferAbuffer5B1toB2Abuffer4B1toB2R010HR0R010HR0R010HR0R010HR0buffer3R73BlackDisplayR0bufferDisplay8START1
显示结果低位压缩BCD码转换成非压缩BCD码高位最高四位消隐
将高位0消隐
AR0ExitA10HR0AR0R7BlackDisplayF0Exit1R0R011H
将高位0消隐负数标志
A0FHR0AR0
PUSH
fBlackDisplay
ExitEND
POPANLSWAPMOVINCRETMOVJNZMOVMOVDECDJNZRET
ACCA0F0HAR0AR0
AR0ExitA10HR0AR0R7BlackDisplay
f实验四四字节十六进制数转十进制数
一、实验目的进一步熟悉51汇编指令,了解十六进制数转十进制数的方法。
二、实验内容从键盘上输入8位十六进制数,实现四字节十六进制数转8位十进制数,并在数码管上
显示。注意输入数据必须在00000000H~05F00000H范围,否则,结果超出8位十进制数,无法正确显示。
f三、程序框图
开始
开始
初始化堆栈
设定