汇编:采用址表的方法编写程序实现C程序的switch功能
//待实现的C程序
1 void main()
{
int grade=;
switch(grade/-)
{
case :
printf("excellence");
break;
case :
printf("good");
break;
case :
printf("average");
break;
case :
printf("pass");
break;
default:
printf("fail");
}
}
汇编代码:
;采用地址表的方法编写汇编程序实现以下的C程序的功能
DATAS SEGMENT
grade dw
ComTab dw coma,comb,comc,comd
g1 db 'excellent','$'
g2 db 'good','$'
g3 db 'average','$'
g4 db 'pass','$'
g5 db 'fail','$'
DATAS ends
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS
START:
mov AX,DATAS
mov DS,AX ;把需要比较的两个数字放入两个寄存器中 xor ax,ax
xor bl,bl
;存放操作数的寄存器进行清0
mov Ax,grade;待操作的数
mov bl,0aH
div bl ;除以10 and ax,00FFH
cmp Ax,
ja default
cmp Ax,
jb default
;结果小6或者大于9则跳转到默认输出
xor bx,BX ;BX清0
mov bl,09H ;将bl设为9
sub bx,ax ;用09去减上面得到的结果(AX) 得链连地址表
add bx,bx
jmp ComTab[BX] default:
lea dx,g5
mov ah,09h
int 21H
jmp exit
coma:
lea dx,g1
mov ah,09H
int 21H
jmp exit
comb:
lea dx,g2
mov ah,09H
int 21H
jmp exit
comc:
lea dx,g3
mov ah,09H
int 21H
jmp exit
comd:
lea dx,g4
mov ah,09H
int 21H
jmp exit
exit:
mov ah,4ch
int 21H
CODES ends
end START
汇编:采用址表的方法编写程序实现C程序的switch功能的更多相关文章
- Java基础-接口中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按 照国务院的指示进行安全生产。请编写一个java应用程序描述上述的体制现象。 要求如下: (1)该应用程序中有一个“党中央”接口:CentralPartyCommittee,该接口中 有个“坚持党的领导”方法:void partyLeader() (2)该应用程序中有一个“国务院”抽象类:StateCouncil,
		36.中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按 照国务院的指示进行安全生产.请编写一个java应用程序描述上述的体制现象. 要求如下: (1)该应用程序中有一个“党中央”接口 ... 
- Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。
		#29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类T ... 
- 编写优质嵌入式C程序
		前言:这是一年前我为公司内部写的一个文档,旨在向年轻的嵌入式软件工程师们介绍如何在裸机环境下编写优质嵌入式C程序.感觉是有一定的参考价值,所以拿出来分享,抛砖引玉. 转载请注明出处:http://bl ... 
- 编写优质嵌入式C程序(转)
		前言:这是一年前我为公司内部写的一个文档,旨在向年轻的嵌入式软件工程师们介绍如何在裸机环境下编写优质嵌入式C程序.感觉是有一定的参考价值,所以拿出来分享,抛砖引玉. 转载请注明出处:http://bl ... 
- 编写高性能 Web 应用程序的 10 个技巧
		使用 ASP.NET 编写 Web 应用程序的简单程度令人不敢相信.正因为如此简单,所以很多开发人员就不会花时间来设计其应用程序的结构,以获得更好的性能了.在本文中,我将讲述 10 个用于编写高性能 ... 
- 转自微软内部资料:编写高性能 Web 应用程序的 10 个技巧
		编写高性能 Web 应用程序的 10 个技巧 转自微软资料数据层性能技巧 1 — 返回多个结果集技巧 2 — 分页的数据访问技巧 3 — 连接池技巧 4 — ASP.NET 缓存 API技巧 5 — ... 
- 在Tomcat中采用基于表单的安全验证
		.概述 (1)基于表单的验证 基于From的安全认证可以通过TomcatServer对Form表单中所提供的数据进行验证,基于表单的验证使系统开发者可以自定义用户的登陆页面和报错页面.这种验证方法 ... 
- 编写第一个Qt程序
		http://c.biancheng.net/view/1817.html 学习一种编程语言或编程环境,通常会先编写一个“Hello World”程序.我们也用 Qt Creator 编写一个“Hel ... 
- 编写安全 PHP 应用程序的七个习惯
		编写安全 PHP 应用程序的七个习惯 在提及安全性问题时,需要注意,除了实际的平台和操作系统安全性问题之外,您还需要确保编写安全的应用程序.在编写 PHP 应用程序时,请应用下面的七个习惯以确保应 ... 
随机推荐
- Matlab GUI保存图片
			% --- Executes on button press in pushbutton5. function pushbutton5_Callback(hObject, eventdata, han ... 
- 理解及快速测定 Azure 虚拟机的磁盘性能
			随着越来越多的用户将生产系统迁移到 Azure 平台的虚拟机服务中,Azure 虚拟机的性能愈发被关注.传统的数据中心中,我们通常使用 CPU,内存,存储和网络的性能来衡量生产压力.特别是对于 IO ... 
- 使用 yield生成迭代对象函数
			https://www.cnblogs.com/python-life/articles/4549996.html https://www.liaoxuefeng.com/wiki/001431608 ... 
- (三)svn 服务器端之创建仓库
			创建仓库 svn服务端创建完成需要创建仓库,仓库中存放 要被管理的文件. 通过开始菜单进入 VisualSVN server manager: 主界面为: 右键点击Repositories创建仓库 ... 
- A full JDK must be specified
			当你开发就了,你就发现,你遇到了各种奇葩的问题,结果,自己奇葩了. 背景:由于项目需要做安全恢复测试,然后,就搭一个新的库环境去测试: 配置jboss的运行jdk时,结果,蹦出个:A full JDK ... 
- ABAP宏的调试
			我们都知道高级语言宏一般是无法调试的.但是ABAP的宏例外. 比如我写了下面一段宏,名为insert_table. 执行这段代码,调试器会在第23行停下来. ABAP调试器里有个工具可以用于宏的调试, ... 
- windows网络模型之重叠IO的使用
			大部分内容转载自https://blog.csdn.net/piggyxp/article/details/114883 目录: 1. 重叠模型的优点 2. 重叠模型的基本原理 3. 关于重叠模型的基 ... 
- HDU 1853 MCMF
			题意:给定一个有向带权图,使得每一个点都在一个环上,而且权之和最小. 分析:每个点在一个环上,入度 = 出度 = 1,拆点入点,出点,s到所有入点全部满载的最小费用MCMF; #include < ... 
- EXCRT
			是个好东西,可以处理在模数不互质的同余方程组 核心就是用扩欧来合并方程 如果我们有两个形如\(x\equiv b_1(mod\ a_1)\) \(x\equiv b_2(mod\ a_2)\)的方程我 ... 
- 九、IntelliJ IDEA 编译方式介绍及编译器的设置和选择
			相对于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也可以通过设置开启实时编译,但是太浪费资源了,因此不建议这样做.IntelliJ ... 
