编写统计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相关推荐

  1. c语言经典程序100例 - 百度,经典C语言程序100例(51-80)_绝望之家_百度空间

    经典C语言程序100例绝望之家_百度空间 经典C语言程序100例(51-80)2008-04-12 16:49经典C语言程序100例(51-60) [程序51] 题目:学习使用按位与 & . ...

  2. 经典C语言程序100例之九五

    经典C语言程序100例之九五 如题 话不多说了,直接上代码 如题 [程序95] 题目:家庭财务管理小程序 1.程序分析: 话不多说了,直接上代码 2.程序源代码: /money management ...

  3. 51单片机C语言程序100例分析(1)IO+C语言+头文件

    51单片机C语言程序100例分析(1)IO+C语言+头文件 \\\插播一条:文章末尾有惊喜哟~///  P1=0xfe;//P1=11111110B,即P1.0输出低电平} 分析:通过这短短的几行代码 ...

  4. 地籍cad的lisp程序大集合_AutoCAD-LISP程序100例

    {:soso_e179:} AutoCAD-LISP程序100例.JPG (143.82 KB, 下载次数: 28) 2011-10-18 14:42 上传 有说明很好!顶 如果您使用 AutoCAD ...

  5. 经典C语言程序100例之一零零

    经典C语言程序100例之一零零 如题 话不多说了,直接上代码 如题 [程序100] 题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出 平均成绩,况原 ...

  6. 经典C语言程序100例之九九

    经典C语言程序100例之九九 如题 话不多说了,直接上代码 如题 [程序99] 题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中. 1 ...

  7. 经典C语言程序100例之九八

    经典C语言程序100例之九八 如题 话不多说了,直接上代码 如题 [程序98] 题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存. ...

  8. 经典C语言程序100例之九七

    经典C语言程序100例之九七 如题 话不多说了,直接上代码 如题 [程序97] 题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止. 1.程序分析: 话不多说了,直接上代码 2.程序 ...

  9. 经典C语言程序100例之九六

    经典C语言程序100例之九六 如题 话不多说了,直接上代码 如题 [程序96] 题目:计算字符串中子串出现的次数 1.程序分析: 话不多说了,直接上代码 2.程序源代码: #include " ...

最新文章

  1. 《Go语言从入门到实战》学习笔记(2)——编写第一个Go语言程序
  2. 《信息与电脑》流通业在SaaS模式下的在线应用
  3. 脑与认知科学2 脑神经电生理学上
  4. 为什么要关心均值和哈希码
  5. 限制会话id服务端不共享_不懂 Zookeeper?看完不懂你打我
  6. fastdfs文件上传 read timeout_一文看懂centos7系统部署FastDFS 分布式文件系统
  7. BERT微调效果不佳?不如试试这种大规模预训练模型新范式
  8. Java_基础_fail-fast
  9. C语言基础入门(经典收藏)
  10. 获取某年的所有周日期
  11. S32K144_新建KEIL工程
  12. 信号调制解调matlab仿真,基于matlab的psk信号调制解调仿真设计开题报告.doc
  13. 「ZJOI2009」多米诺骨牌
  14. office2010案例一
  15. 智课雅思词汇---二十五、形容词后缀-ate-fic-ose-ulent-olent-ous-ulous-y
  16. 零基础也能快速上手的动画制作工具 | 万彩动画大师
  17. java服务监控_Java最流行的微服务框架监控和各种监控数据
  18. 网络爬虫学习第二弹:requests库的使用
  19. [ZZ] A Proposal For Compiling Direct3D HLSL With LLVM (Written by Michael Larabel )
  20. BGP in the datacenter, 数据中心的BGP,数据中心网络架构,Clos网络架构

热门文章

  1. 计算机退出用户登陆,电脑退出微软账户登录不了怎么办
  2. css怎样清除外边距,CSS 外边距
  3. Scala版本冲突--java.lang.NoSuchMethodError:scala.collection.immutable.HashSet$.empty()Lscala/collection/
  4. 高精度加法 C++、Java 实现
  5. STAF 4个重要的Class 和 2个Module
  6. 剑侠情缘二服务器维护要多久,玩剑侠2就必须看的帖子,尤其是新手
  7. SQL常用语句 笔记
  8. 华为p40pro怎么没有计算机,数码教程资讯:华为p40pro支持PC模式吗
  9. 火山PC_sqlserver数据库的操作
  10. Spring下载教程(保姆级)