汇编(分支与循环程序设计 例)

本文详细介绍了汇编语言中的分支和循环程序设计,包括单分支、复合分支和多分支程序的实现,以及循环程序的两种结构——do while和do null。通过具体例子展示了如何处理数值转换、键盘输入和条件判断等任务,强调了分支向量表法在多分支程序中的应用,同时讲解了逻辑尺在条件循环中的作用。
摘要由CSDN通过智能技术生成

单分支程序(if then)

双字长数存放于dx和ax寄存器(高位于dx),求该数的绝对值(用16位指令)
算法分析:判断数正负,正数(首位为0),不需处理,负数(首位为1),对该数求补,即反码加一

code segment
assume cs:code
start:
test dx,8000h  //测试数的正负
jz exit       //不为负数则退出
not ax
not dx
add ax,1
adc dx,0
exit:
mov ah,4ch
int 21h
code ends
end start

复合分支程序

从键盘输入一位十六进制数,将其转换为十进制数显示输出
算法分析:
输入为数字(30h~39h),直接输出
为大写字母A~F(41h~46h)时,可减11h
a~f时(61h~66h),可减去31h得到30h~35h(0~5的ascii码),再输出2位十进制数字,
其他输入为非法输入,退出程序

code segment
assume cs:code
start:mov ah,1 //键盘输入
int 21h
cmp al,30h
jl exit
cmp al,39h
jle dig //输入为0~9
cmp al,41h
jl exit //非法输入
cmp al,46h
jle print //输入为A~F
cmp al,61h
jl exit //非法输入
cmp al,66h
jg exit //非法输入
sub al,31h
j
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值