c 汇编语言小程序100例,汇编语言小程序例子.doc
编写统计AX中1、0个数的源程序。1的个数存入CH,0的个数存入CL。
CODE SEGMENT
ASSUME CS:CODE
START: MOV CX, 0
MOV DX,17
AA1: SUB DX, 1
JZ AA3
SHL AX, 1
JNC AA2
INC CH
JMP AA1
AA2: INC CL
JMP AA1
AA3: MOV AH,4CH
INT 21H
CODE ENDS
END START
编写比较两个字符串STRING1和STRING2所含字符是否完全相同的源程序,若相同则显示“MATCH”,若不相同则显示“NO MATCH”。
程序:
DATA SEGMENT
R1 DB 'MATCH',0AH,0DH
R2 DB 'NO MATCH',0AH,0DH
STRING1 DB 'XXXXX'
N1 EQU $-STRING1
STRING2 DB 'YYYYY'
N2 EQU $-STRING2
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,N1
CMP AX,N2
JNZ AA1
ADD AX,1
LEA SI,STRING1
LEA DI,STRING2
AA2: MOV BL,[SI]
MOV BH,[DI]
INC SI
INC DI
SUB AX,1
JZ AA3
CMP BL,BH
JZ AA2
JMP AA1
AA3: LEA BX,R1
MOV CX,7
AA4: MOV DL,[BX]
INC BX
MOV AH,2
INT 21H
LOOP AA4
JMP E
AA1: LEA BX,R2
MOV CX,10
AA5: MOV DL,[BX]
INC BX
MOV AH,2
INT 21H
LOOP AA5
E: MOV AH,4CH
INT 21H
CODE ENDS
END START
从键盘读入一个四位的十六进制数,CRT显示等值的二进制数.
由于每个十六进制数位对应4个二进制,所以每读入一个十六进制位后,即可将其对应的4个二进制位依次输出。由于数字‘0’~ ‘9’的ASCⅡ码为30H~39H,字母‘a’~‘f’与 ‘A’~‘F’的ASCⅡ码为61H~66H 与41H~46H ,因此,如果输入的字母为数字‘0’~‘9’,则其低4位即为对应的二进制位;如果输入的字符为字母‘a’~‘f’或‘A’~‘F’,则需要减7,然后通过移位将低4位依次输出。
汇编程序如下:
DATA SEGMENT
MSG1 DB 'Hex:', '$'
MSG2 DB 0DH, 0AH, 'Binary:', '$'
COUNT EQU 4
BUF DB 4 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX, DATA
MOV DS, AX
LEA DX, MSG1
MOV AH, 9
INT 21H
MOV CX, COUNT
MOV SI, 0
INPUT: ;通过四次循环从键盘读入四位十六进制数
MOV AH, 1
INT 21H
MOV BUF[SI], AL
DEC CX
INC SI
CMP CX, 0
JNZ INPUT
NEXT3: LEA DX, MSG2
MOV AH, 9
INT 21H
MOV CX, COUNT
MOV SI, 0
NEXT2: MOV BL, BUF[SI]
CMP BL , '9'
JBE OK ; 读入的字符<=9 转向 OK:
SUB BL, 7 ;读入字符>= 9 减7
OK: PUSH CX
MOV CL ,4
SHL BL, CL ; 逻辑左移4位,低4位à高4位
MOV CX, 4 ; 4次循环将当前处理字符的4位二进制输出
NEXT1: MOV DL, '0'
SHL BL, 1
JNC SKIP
INC DL
SKIP: MOV AH, 2
INT 21H
LOOP NEXT1
POP CX ;
INC SI
LOOP NEXT2 ; 4次循环将4位十六进制数,每位转换为对应的4位二进制
EXIT: MOV AH, 4CH
INT 21H
CODE ENDS
END START
设从STRING开始存放一个以$为结束标志的字符串,试编写把字符串中的字
c 汇编语言小程序100例,汇编语言小程序例子.doc相关推荐
- c语言经典程序100例 - 百度,经典C语言程序100例(51-80)_绝望之家_百度空间
经典C语言程序100例绝望之家_百度空间 经典C语言程序100例(51-80)2008-04-12 16:49经典C语言程序100例(51-60) [程序51] 题目:学习使用按位与 & . ...
- 经典C语言程序100例之九五
经典C语言程序100例之九五 如题 话不多说了,直接上代码 如题 [程序95] 题目:家庭财务管理小程序 1.程序分析: 话不多说了,直接上代码 2.程序源代码: /money management ...
- 51单片机C语言程序100例分析(1)IO+C语言+头文件
51单片机C语言程序100例分析(1)IO+C语言+头文件 \\\插播一条:文章末尾有惊喜哟~/// P1=0xfe;//P1=11111110B,即P1.0输出低电平} 分析:通过这短短的几行代码 ...
- 地籍cad的lisp程序大集合_AutoCAD-LISP程序100例
{:soso_e179:} AutoCAD-LISP程序100例.JPG (143.82 KB, 下载次数: 28) 2011-10-18 14:42 上传 有说明很好!顶 如果您使用 AutoCAD ...
- 经典C语言程序100例之一零零
经典C语言程序100例之一零零 如题 话不多说了,直接上代码 如题 [程序100] 题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出 平均成绩,况原 ...
- 经典C语言程序100例之九九
经典C语言程序100例之九九 如题 话不多说了,直接上代码 如题 [程序99] 题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中. 1 ...
- 经典C语言程序100例之九八
经典C语言程序100例之九八 如题 话不多说了,直接上代码 如题 [程序98] 题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存. ...
- 经典C语言程序100例之九七
经典C语言程序100例之九七 如题 话不多说了,直接上代码 如题 [程序97] 题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止. 1.程序分析: 话不多说了,直接上代码 2.程序 ...
- 经典C语言程序100例之九六
经典C语言程序100例之九六 如题 话不多说了,直接上代码 如题 [程序96] 题目:计算字符串中子串出现的次数 1.程序分析: 话不多说了,直接上代码 2.程序源代码: #include " ...
最新文章
- 《Go语言从入门到实战》学习笔记(2)——编写第一个Go语言程序
- 《信息与电脑》流通业在SaaS模式下的在线应用
- 脑与认知科学2 脑神经电生理学上
- 为什么要关心均值和哈希码
- 限制会话id服务端不共享_不懂 Zookeeper?看完不懂你打我
- fastdfs文件上传 read timeout_一文看懂centos7系统部署FastDFS 分布式文件系统
- BERT微调效果不佳?不如试试这种大规模预训练模型新范式
- Java_基础_fail-fast
- C语言基础入门(经典收藏)
- 获取某年的所有周日期
- S32K144_新建KEIL工程
- 信号调制解调matlab仿真,基于matlab的psk信号调制解调仿真设计开题报告.doc
- 「ZJOI2009」多米诺骨牌
- office2010案例一
- 智课雅思词汇---二十五、形容词后缀-ate-fic-ose-ulent-olent-ous-ulous-y
- 零基础也能快速上手的动画制作工具 | 万彩动画大师
- java服务监控_Java最流行的微服务框架监控和各种监控数据
- 网络爬虫学习第二弹:requests库的使用
- [ZZ] A Proposal For Compiling Direct3D HLSL With LLVM (Written by Michael Larabel )
- BGP in the datacenter, 数据中心的BGP,数据中心网络架构,Clos网络架构
热门文章
- 计算机退出用户登陆,电脑退出微软账户登录不了怎么办
- css怎样清除外边距,CSS 外边距
- Scala版本冲突--java.lang.NoSuchMethodError:scala.collection.immutable.HashSet$.empty()Lscala/collection/
- 高精度加法 C++、Java 实现
- STAF 4个重要的Class 和 2个Module
- 剑侠情缘二服务器维护要多久,玩剑侠2就必须看的帖子,尤其是新手
- SQL常用语句 笔记
- 华为p40pro怎么没有计算机,数码教程资讯:华为p40pro支持PC模式吗
- 火山PC_sqlserver数据库的操作
- Spring下载教程(保姆级)