分支结构在汇编语言中有哪些实现方法

分支结构在汇编语言中有哪些实现方法,第1张

C语言的分支选择语句主要有两个1、if else语句 ;2、switch语句。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运亮腔行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。扩展资料:1、具有结构化的控制语句C语言是一种结构化的语言,提供的控制语句具有结构化特征,如敬芦衫for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。2、丰富的数据类型C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。3、丰富的运算符c语言包含34个运算符,它将赋值、括号等均视作运算符来 *** 作,使C程序的表达式类型和运算符类型均非常丰富。4、可对物理地址进行直接 *** 作C语言允许对硬件内存地址进行直接读写,以此可以实现汇编语言的主哗凯要功能,并可直接 *** 作硬件。c语言不但具备高级语言所具有的良好特性,又包含了许多低级语言的优势,故在系统软件编程领域有着广泛的应用。

.model small

.stack 8192

.data

mode dw ?

jmptbl dw l0,l1,l2,l3,l4,l5,l6,l7

prompt db 'press a numeric key [0..7]',13,10,36

errmsg db '枣闷Invalid keypress!$'

.code

main: mov ax,@data

mov ds,ax

mov dx,offset prompt

mov ah,9

int 21h

mov ah,1

int 21h

sub al,'0'

mov ah,0

mov mode,ax

mov bx,mode

cmp bx,7

ja illegal

add bx,bx

jmp jmptbl [bx]

illegal:

mov dx,offset errmsg

mov ah,9

int 21h

quit: mov ah,4ch

int 21h

l0: mov dl,'0'

jmp quit

l1: mov dl,'1'

jmp quit

l2: mov dl,'2'凳誉弯

jmp quit

l3: mov dl,'3'

jmp quit

l4: mov dl,'4'

jmp quit

l5: mov dl,'5'

jmp quit

l6: mov dl,'6'虚游

jmp quit

l7: mov dl,'7'

jmp quit

end main

datasegment

x db 5 x的值可以在运码这里更改,或者在debug中用e命令修改

y dw ?

dataends

codesegment

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

xor ah,ah ah清零,目的是为了将字节扩展为字

mov al,x 取得数据x

cmp al,40 和40比较

jb next1 小于40转next1

jmp stop 大如野于等于40,就是x本身,直接转stop保存结果

next1: cmp al,20 小于40,渣悄喊则和20比较

jbe next2 小于等于20则转next2

add ax,ax 小于40并且大于20,x乘以2,相当于x+x,加法的执行效率比乘法高

jmp stop 转stop存结果

next2: xor al,al 小于等于20,将al清零

stop: mov y,ax 保存结果

mov ax,4c00h

int 21h

codeends

end start


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12318007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存