10.汇编语言程序设计

合集下载

精选10个汇编语言程序案例集

精选10个汇编语言程序案例集

精选10个汇编语言程序案例集摘要:一、汇编语言简介二、案例1:简单算术运算三、案例2:字符串处理四、案例3:逻辑与关系运算五、案例4:循环与条件语句六、案例5:函数调用与参数传递七、案例6:数组与指针操作八、案例7:内存管理九、案例8:输入输出操作十、案例9:操作系统调用十一、案例10:网络编程十二、总结与拓展正文:一、汇编语言简介汇编语言是一种低级编程语言,它与计算机硬件的操作紧密相关。

汇编语言通过对计算机指令进行汇编,实现对计算机资源的控制。

下面将介绍10个汇编语言程序案例。

二、案例1:简单算术运算案例1是一个实现加减乘除算术运算的汇编程序。

通过编写相应的汇编指令,实现对两个整数的加减乘除操作。

三、案例2:字符串处理案例2是一个处理字符串的汇编程序。

通过汇编指令实现字符串的输入、输出、查找、替换等功能。

四、案例3:逻辑与关系运算案例3是一个处理逻辑与关系运算的汇编程序。

通过汇编指令实现逻辑与、逻辑或、逻辑非以及关系运算。

五、案例4:循环与条件语句案例4是一个处理循环与条件语句的汇编程序。

通过汇编指令实现for、while、if-else等循环与条件控制结构。

六、案例5:函数调用与参数传递案例5是一个处理函数调用与参数传递的汇编程序。

通过汇编指令实现函数调用,以及将参数传递给函数。

七、案例6:数组与指针操作案例6是一个处理数组与指针操作的汇编程序。

通过汇编指令实现数组的创建、访问、排序等操作,以及指针的运算与控制。

八、案例7:内存管理案例7是一个处理内存管理的汇编程序。

通过汇编指令实现内存的分配、释放、拷贝等操作。

九、案例8:输入输出操作案例8是一个处理输入输出操作的汇编程序。

通过汇编指令实现键盘输入、显示输出等功能。

十、案例9:操作系统调用案例9是一个处理操作系统调用的汇编程序。

通过汇编指令实现操作系统提供的功能,如文件操作、进程管理等。

十一、案例10:网络编程案例10是一个处理网络编程的汇编程序。

2017级河南大学计算机专业《汇编语言程序设计》试卷及答案

2017级河南大学计算机专业《汇编语言程序设计》试卷及答案

河南大学《汇编语言程序设计》试卷(2017年至2018学年度第一学期)一、填空题(每空1分,共8题,20分)1、 一般的计算机结构中,其主要组成部分包括 、 、 和输入输出接口四个部分组成。

2、 发布各种操作命令、控制信号。

3、 是用户利用计算机及其所提供的系统软件、程序设计语言为解决各种实际问题而编写的程序。

4、 I/O 端口编址方式有 和 两种方式。

5、 总线是 的一组传输线。

6、 8086的总线接口部件BIU 由 、 、 、四大部分组成。

7、 基本中断源有: 、 、 、、 故障报警请求中断 、 程序调试设置中断等。

8、 当发生除法溢出时,OF= 。

二、单项选择题(每题2分,共10题,20分)1、 指令指针寄存器是( )A 、BPB 、SPC 、IPD 、PSW2、 可用作基址变址寻址或寄存器间接寻址的寄存器是( )A 、AX, BX, CX, DXB 、DS, ES, CS, SSC 、SP, BP, IP, BXD 、SI, DI, BP, BX3、 设DS=1E4AH ,偏移地址为0056H ,该字节的物理地址为( )A 、1E4A6HB 、1E456HC 、1E556HD 、1E4F6H 4、 下列4条指令中,错误的指令是( )A 、SUB CX, DX B 、MOV AX, SS:[DX]C 、SHL AX, 1D 、AX, [BP + SI]5、 在串操作指令前使用重复前缀指令REPE ,终止串的重复操作条件是( )A 、CX=0且ZF=0B 、CX=0且ZF=1C 、CX=0或ZF=0D 、CX=0或ZF=16、 执行XLAT 指令时,要将表的首地址和偏移地址分别存放的寄存器是( )A 、BX, ALB 、AX, BXC 、AX, BLD 、BL, AX 7、 INC BYTE PTR [BX]指令中的操作数的数据类型是( )A 、双字B 、字C 、字节D 、四字 8、 指令JMP FAR PTR LOP1 属于( )A 、段内转移直接寻址B 、段内转移间接寻址C 、段间转移直接寻址D 、段间转移间接寻址9、 从键盘输入一个十进制2002,将该数值以压缩BCD 码的存储形式保存到存储器中,其存放的顺序是( )A 、20,02B 、02,20C 、32,30,30,32D 、32,30,32,3010、 使用DOS 系统功能调用终止当前程序并返回调用程序,应选用的指令是( )A 、 MOV AH, 01HB 、 MOV AH, 00H INT 21HINT 21HC 、 MOV AH, 4CHD 、 RETINT 21HINT 21H三、简答题(每题5分,共6题,30分)1、 简述8位微处理器的各组成部分作用。

汇编语言程序设计实验指导

汇编语言程序设计实验指导

汇编语言程序设计实验指导【实验提要】以下列举的10个实验,都是以Intel的8086及后续系列微处理器的指令系统为核心,采用宏汇编工具MASM6. X以及调试工具DEBUG或DEBUG32,针对本教材所述内容进行相关的上机实践。

旨在帮助学生加深认识和理解理论教学知识,通过大量的上机实验熟悉8086 CPU的指令功能、用途和使用技巧,进而提高汇编语言程序设计的能力。

(带*号的为选作内容)实验一调试工具DEBUG的应用实验目的通过实验掌握下列知识:1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG的功能;2、DEBUG命令: A,D,E,F,H,R,T,U的使用;3、BCD码、ASCII码及用十六进制数表示二进制码的方法;4、寄存器: AX,BX,CX,DX,FLAGS,IP。

内容及步骤注:本次实验可以参照教材上关于DEBUG的叙述内容进行。

一、DEBUG 命令使用1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DEBUG, 进入调试环境,显示提示符 '- '。

2、用命令 F 200 220 'AB' 将'AB'的两个ASCII码循环填入内存。

注:第一个参数200是当前段的起始偏移地址,第二个参数220是终了偏移地址,第三个参数‘AB’是被填入的数值,若不给出第二个参数则填入128(8行)个字节。

3、用命令 D200 观察内存中的十六进制码及屏幕右边的ASCII字符。

4、用命令 F230 23F 12 重复上二项实验,观察结果并比较。

5、用命令 E200 41 42 43 44 45将A-E的ASCII码写入地址为200开始的内存单元中,再用D命令观察结果,看键入的十六进制数和ASCII码的对应关系。

6、用H命令检查下列各组十六进制数的和与差(补码表示):(1)56H,34H (2)23H,45H (3)AB,3045H注:输入 H 12 34 则在下一行显示0046 FFDE,即二者的补码和与差。

大工14 秋《汇编语言程序设计》在线测试1答案

大工14 秋《汇编语言程序设计》在线测试1答案

大工14 秋《汇编语言程序设计》在线测试1
单选题判断题多选题
一、单选题(共10 道试题,共30 分。


1. 下面的数值表示中,和127相等的是哪一个()
A. 11111111B
B. 127H
C. 80H
D. 7FH
正确答案:D
2. 在IBM PC中,一个字为()位二进制数。

A. 8位
B. 16位
C. 32位
D. 64位
正确答案:B
3. 一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是()
A. 12CSBH
B. 12B6BH
C. 12C59H#12BFEH
正确答案:C
4. 8086CPU在执行8位有符号数运算后,产生溢出是结果超出了:()
A. 0~255
B. +128~-128
C. +255~-256
D. +127~-128
正确答案:D
5. 已知物理地址(371F0H)=12H,(371F1H)=34H,(371F2H)=56H,如从地址371F0H 中取出一个字的内容是()
A. 3412H
B. 3421
C. 3410H
D. 3424
正确答案:A
6. CPU要访问的某一存储单元的实际地址称()
A. 段地址
B. 偏移地址
C. 物理地址
D. 逻辑地址。

大工14 秋《汇编语言程序设计》在线测试2答案

大工14 秋《汇编语言程序设计》在线测试2答案

大工14 秋《汇编语言程序设计》在线测试2
单选题判断题多选题
一、单选题(共10 道试题,共30 分。


1. 计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的编码。

目前,微机中普遍采用的是()。

A. BCD 码
B. 二进制码
C. ASCII 码
D. 十六进制码
正确答案:C
2. 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是()。

A. CMP
B. SUB
C. AND
D. MOV
正确答案:D
3. 当程序顺序执行时,每取一条指令语句,IP 指针增加的值是()。

A. 1
B. 2
C. 3
D. 由指令长度决定的
正确答案:D
4. 一个有16 个字的数据区,它的起始地址是70A0H: DDF6,则这个数据区最末一个字单元的物理地址是()。

A. 7E806H
B. 7E814H
C. 7E815H
D. 7E80BH
正确答案:C
5. 若(AX)=2000H,(BX)=0050H,(20050H)=12H,(20051H)=34H,执行MOV AX、[BX]指令后,AX 寄存器中的内容是()。

A. (AX)=0050H
B. (AX)=0012H
C. (AX)=1234H
D. (AX)=3412H
正确答案:D
6. 若AX=349DH,CX=0FH。

则执行指令AND AX,CX 后,AX 的值是()。

A. 349DCH
B. 000DH。

微型计算机原理考试题

微型计算机原理考试题

====《汇编语言程序设计》模拟试卷01====一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干的括号内。

每题2分,共20分)1.若栈顶的物理地址是20100H,当执行完指令CALL AX后,栈顶的物理地址是()。

A)20102H B)20101H C)200FFH D)200FEH2.当执行完下列指令序列后,标志位CF和OF的值是()。

MOV AH,85HSUB AH,32HA)0,0 B)0,1 C)1,0 D)1,1SI的目标地址偏移量是()。

A)SI的内容 B)SI所指向的内存单元的内容C)IP+SI的内容 D)IP+[SI]4.循环指令LOOPNZ终止循环的条件是( )。

A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX≠0,且ZF=0D、CX≠0,或ZF=15.指出下列哪个数据在汇编语言中是非法的()A)19BH+25D B)25+AL C)108-102Q D)101B*0ABH6.已知AL, BX中各放一个无符号数,计算AL*BX的积,应采用下列程序段()A)MUL BX B)IMUL BXC)XOR AH, AH D)CBXMUL BX MUL BX是程序中某指令语句标号,下述四个程序段中,不能实现转移到NEXT 语句执行的是()A)JMP NEXT B)MOV BX ,OFFSET NEXTJMP BXC)MOV BX, NEXT D)LEA AX, NEXTJNP BX JNP AX的定义如下:DATA DW 1234H现想把12H 取入到AL寄存器,可以实现该功能的程序段是()A)MOV AL, BYTE PTR DATAB)MOV AL, DATA+1C)MOV AL, BYTE PTR DATA+1D)MOV AX, DATA9.下面指令执行后,改变AL寄存器内容的指令是( )。

A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL10. 在汇编语言程序的开发过程中使用宏功能的顺序是( )。

汇编语言程序设计课后习题答案(第二版_沈美明)(无删减)

汇编语言程序设计课后习题答案(第二版_沈美明)(无删减)

汇编语言程序设计课后习题答案(第二版_沈美明)(无删减)第一章1.1 用降幂法和除法将下列十进制数转换为二进制数和十六进制数: (1) 369 (2) 10000 (3) 4095 (4) 32767 答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H (3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2 将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111 答:(1) 10 1101B=2DH=45 (2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535 (4) 1111 1111B=FFH=2551.3 将下列十六进制数转换为二进制数和十进制数: (1) FA (2) 5B (3) FFFE (4) 1234 答:(1) FAH=1111 1010B=250 (2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534 (4) 1234H=1 0010 0011 0100B=46601.4 完成下列十六进制数的运算,并转换为十进制数进行校核: (1) 3A+B7 (2)1234+AF (3) ABCD-FE (4) 7AB×6F 答:(1) 3A+B7H=F1H=241 (2) 1234+AFH=12E3H=4835 (3) ABCD-FEH=AACFH=43727 (4) 7AB×6FH=35325H=2178931.5 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

汇编语言程序设计考试题型说明(老师上课讲的题)

汇编语言程序设计考试题型说明(老师上课讲的题)

汇编语言程序设计考试题型说明一、填空题(20%)二、选择题(15% )三、是非判断题(10%)四、简答题(10%)五、指出语句错误(8%)六、程序分析题(12%)七、程序填空题(10%)八、程序设计题(15%)•汇编语言题型讲解一、填空题例1.任何变量都有段地址、偏移地址、类型三种属性。

例2.“VAR DB 5 DUP(8,2 DUP(5))”语句汇编应分配15个字节单元。

例3. 请用一条指令实现如下操作:(1)将AX中划‘X’的位清0(2)将BL寄存器的低四位取反:X O R B L,0F H。

例 4.假设存储器中各字节单元的内容是:(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)= 4512H ,字单元(06926H)= 7845H。

例5.语句DA2 DW ‘AB’ 汇编后在DA2字节单元中存放42H,在DA2+1字节单元中存放41H。

例6.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,[SI+COUNT]中,源操作数的有效地址EA为20A8H,其物理地址为11488H。

例7.R E P、R E P Z、R E P N Z。

例8. DB指令以字节为单位分配存贮;DW指令以字为单位分配存贮。

故如下数据定义:V1 DB 4 DUP (2), 2COUNT EQU 10V2 DW COUNT DUP(?)为变量V1分配5个字节存贮区;为变量V2分配20个字节存贮区。

例9.在执行串处理指令时,为了使地址自动增量,应执行指令:C L D,该指令使得方向标志位例10.中断程序的入口地址称为中断向量IBM PC机中,共有256个中断源,每个中断向量占内存中的中断向量表4个字节。

例11.一个字存入堆栈时,堆栈指针SP -2修正;从堆栈中取出一个字时,SP +2修正,SP 总是指向栈顶单元。

例12.下面是对DOS功能调用方法的简单说明:(1)在AH寄存器中存入所要调用功能的功能号;(2)根据所调用功能的规定设置入口参数;(3)用I N T21H(4)相应的子程序运行完后,可按规定取得出口参数。

精选10个汇编语言程序案例集

精选10个汇编语言程序案例集

精选10个汇编语言程序案例集
1. 汇编语言编写的计算器程序,这个程序可以接受用户输入的两个数字,然后执行加减乘除等运算,并将结果输出到屏幕上。

2. 文件复制程序,这个程序可以使用汇编语言编写,实现将一个文件的内容复制到另一个文件中的功能。

3. 简单的操作系统内核,使用汇编语言编写一个简单的操作系统内核,可以包括基本的文件管理和进程调度功能。

4. 汇编语言写的游戏,例如经典的贪吃蛇游戏或者俄罗斯方块游戏,这些游戏可以使用汇编语言编写。

5. 串口通信程序,使用汇编语言编写一个可以通过串口进行通信的程序,可以实现数据的发送和接收。

6. 硬件驱动程序,编写一个简单的汇编语言程序,可以控制硬件设备,例如控制LED灯的亮灭。

7. 汇编语言编写的加密解密算法,实现一个简单的加密解密算
法,例如凯撒密码或者简单的异或运算。

8. 简单的图形界面程序,使用汇编语言编写一个简单的图形界面程序,可以实现基本的窗口和按钮等功能。

9. 汇编语言编写的网络通信程序,实现一个简单的网络通信程序,可以进行基本的数据传输和接收。

10. 汇编语言编写的嵌入式系统程序,例如可以编写一个控制LED灯的嵌入式系统程序,可以通过按键控制LED的亮灭。

20个简单汇编语言程序

20个简单汇编语言程序

20个简单汇编语言程序以下是20个简单的汇编语言程序示例:1. 计算两个数的和:MOV AX, 5。

ADD AX, 3。

这段代码将 5 存储在 AX 寄存器中,然后将 3 加到 AX 中,最终 AX 中的值为 8。

2. 比较两个数的大小:MOV AX, 5。

CMP AX, 3。

这段代码将 5 存储在 AX 寄存器中,然后将 AX 中的值与 3 进行比较。

3. 循环打印数字:MOV CX, 10。

MOV AX, 1。

LOOP_START:MOV DL, AL.ADD DL, 48。

MOV AH, 2。

INT 21h.INC AL.LOOP LOOP_START.这段代码使用循环打印数字 1 到 10。

4. 计算阶乘:MOV CX, 5。

MOV AX, 1。

LOOP_START:MUL CX.LOOP LOOP_START.这段代码计算 5 的阶乘,并将结果存储在 AX 寄存器中。

5. 判断奇偶数:MOV AX, 7。

AND AX, 1。

这段代码将 7 存储在 AX 寄存器中,然后将 AX 中的值与 1进行与运算,结果为 1,表示奇数。

6. 字符串反转:MOV SI, OFFSET str.MOV DI, OFFSET str.MOV CX, LENGTHOF str.DEC CX.REVERSE_LOOP:MOV AL, [SI]MOV DL, [DI+CX]MOV [DI+CX], AL.MOV [SI], DL.INC SI.LOOP REVERSE_LOOP.这段代码将字符串 `str` 反转。

7. 计算斐波那契数列:MOV CX, 10。

MOV AX, 0。

MOV BX, 1。

FIB_LOOP:ADD AX, BX.XCHG AX, BX.LOOP FIB_LOOP.这段代码计算斐波那契数列的前 10 个数。

8. 判断一个数是否为质数:MOV AX, 17。

MOV BX, 2。

CHECK_PRIME:XOR DX, DX.DIV BX.CMP DX, 0。

《汇编语言程序设计》试卷 福建农林大学解析

《汇编语言程序设计》试卷 福建农林大学解析

第4篇模拟试卷试卷一一、单项选择题(本大题共15小题,每小题2分,共30分)1.与MOV BX, OFFSET V AR指令完全等效的指令是()。

(A)MOV BX, V AR (B)LDS BX, V AR(C)LES BX, V AR (D)LEA BX, V AR2.DEBUG中的执行一段子程序的命令是()。

(A)D (B)T (C)P (D)U3.不能作为地址指针的寄存器是()。

(A)CX (B)BX (C)DI (D)SI4.已知, (AX)=0F234H,执行OR AX, 963FH后,则SF,CF的值为()。

(A)SF=1,CF=1 (B)SF=1,CF=0(C)SF=0,CF=1 (D)SF=0,CF=05.AL=11011011B ,CL=2,执行SAR AL, CL后,AL寄存器的内容是()。

(A)00110110 (B)01101100(C)01101111 (D)111101106.下面两个传送指令语句中源操作数寻址方式是()。

V AR1 DW 32HV AR2=32H......MOV AX, V AR1MOV BX, V AR2(A)都是立即数寻址(B)立即数寻址,直接寻址(C)直接寻址,立即数寻址(D)都是直接寻址7.变量具有()。

(A)偏移属性(B)符号属性(C)段属性(D)段属性和偏移属性8.寄存器间接寻址方式中,操作数在()中。

(A)通用寄存器(B)堆栈(C)内存单元(D)段寄存器9.下列对END语句的叙述正确的是()。

(A)END是一可执行语句(B)END表示程序执行到此结束(C)END表示源程序到此结束(D)END在汇编后产生机器码10.下列叙述不正确的是()。

(A)存储单元与逻辑地址之间的关系是一一对应的(B)存储单元与物理地址之间是一一对应的(C)一个逻辑地址对应一个存储单元(D)一个存储单元可以用不同的段地址和偏移地址表示11.下列指令合法的是()。

期末考试试题答案_微机原理与接口技术_(3)

期末考试试题答案_微机原理与接口技术_(3)

一、单项选择题 (在下列每小题的四个备选答案中,选出一个正确的答案,并将号码填在括号内。

每小题1分,共10分)1、8086/8088 的时钟信号是由( C )提供。

A. 8259B. 8255C. 8284D. 82532、指令 MOV AX , 0283H[BX][SI] 中源操作数的寻址方式为( B )。

A. 寄存器间接寻址B. 基址变址相对寻址C. 基址寻址D. 变址寻址3、某存储单元的段基址为3806H,段内偏移地址为2948H,该存储单元的物理地址为( B )。

A. 4100HB. 3A9A8HC.3B008HD. 3AA08H4、某存储器芯片有地址线15根,数据线8根、该存储器芯片的存储容量为( D )。

A. 15K×8B. 32K×256C. 1K×8D. 32K×85、某存储器芯片容量为2K×4bit、若用它组成16K×8bit存储器组,所用芯片数以及用于组内寻址的地址线为( B )。

A. 2片、11根B. 16片、14根C. 8片、16根D. 16片、8根6、 DMAC 8237具有( C ) 独立通道。

A . 八个B . 二个C . 四个D . 三个7、可编程中断控制器8259A每片具有( C ) 优先权控制。

A . 4级B . 2级C . 8级D . 6级8、若要某系统的8253的2通道输出波形为占空比1:1的方波、分频系数为1000、二进制计数,其工作方式命令字为( B )。

A. A6HB. B6HC. B4HD. C7H9、8237片内寻址的端口有( D )个。

A. 4B. 2C. 8D. 1610、8259片内寻址的端口有( B )个。

A. 4B. 2C. 8D. 16二、填空题:(每空1分,共计40分)1、指令ASSUME在程序中出现时表示:( 段寄存器与段之间的对应关系 )。

2、编语言源程序中的语句结构由4部分组成,每个部分称为项(也可称为域或埸),各项名称分别为:( 标号或变量名 )、( 操作码 )、( 操作数 )、( 注释 )。

汇编语言程序设计(第二版)课后题答案

汇编语言程序设计(第二版)课后题答案

4.1、判断下列标识符的合法性。

1)、code 合法2)、Data 合法3)、ABCDH 合法4)、1abcH 不5)、eax 不6)、01 合法7)、A?@ 合法8)、www@zsu 合法9)、***********.cn不10)、AX$DX 合法11)、_BX 合法12)、CX 不4.2、按下面要求写出相应的数据定义语句(未指定变量名的,可任意指定或省缺)。

1)、定义一个字节区域,第一个字节的值为20,其后跟20个初值为0的连续字节;DB 20,20 DUP(0)2)、定义一个以0为结束符的字符串,其初值为:The course is easy;DB “The course is easy”,03)、定义一个以'$'为结束符的字符串,该串中含有换行符和回车符;DB 0D,0A,”$”4)、定义100个字,其初值为0;DW 100 DUP(0)5)、从一个偶地址开始定义一个字变量word;EVENWORD DW ?6)、先定义一个字符串String,其偏移量指定为10,其初值为"ABCDEF",然后再定义3个字类型的数组Data,要求String和Data的偏移量相同;ORG 10STRING DB "ABCDEF"ORG 10DATA DW 3 DUP(?)7)、定义一个字符串String,其初值为"12345678",再定义4个字类型的数组Data,要求String和Data共享同一片内存单元;STRING DB "12345678"ORG $-8DATA DW 4 DUP (?)4.3、把下列C语言的变量定义语句改写成与之等价的汇编语言语句。

1)、char ch1, ch2[3], ch3[]="Are you ready?", ch4='Q';CH1 DB ?CH2 DB 3 DUP (?)CH3 DB "Are you ready?",0CH4 DB “Q”2)、int w1, w2[5], w3=0x1234, w4[]={90, 89, 432, 344};W1 DW ?W2 DW 5 DUP (?)W3 DW 1234HW4 DW 90,89,432,3443)、long int d1=1234, d2, d3[10], d4[]={1, 2, 3, 4, 5, 6};D1 DD 1234D2 DD ?D3 DD 10 DUP(?)D3 DD 1,2,3,4,5,64.4、假设4.3题中三组变量在内存中是连续存放的,且变量ch1的偏移量是20H,试求出其它每个变量的偏移量。

《汇编语言程序设计》期末复习题及答案

《汇编语言程序设计》期末复习题及答案

汇编语言程序设计》期末复习题及答案一、选择( 30 题)1.下列是 8 位带符号二进制数的补码,其中最大的是( B )。

B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现( C )C、占内存空间大,但速度快3.数据定义为:EE DB 3 , 4CC DW 3456H , 6789H执行指令“ MOV CX WORD PTR EE+1'后,(CX = ( B )B、5604H4.有如下指令序列:MOV AL, 95HMOV CL, 2SAR AL , CL上述指令序列执行后,AL的内容是(D )D、0E5H5. 设A=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D )D、 A<B=C6. 用一条指令实现寄存器 BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX][SI]7 .要从端口 1234H中读入8位数据,其指令应是( C )C、MOV DX, 1234HIN AL , DX&循环控制指令 LOOPNZ/LOOPNE续执行循环的条件是(B )B、CX^ 0 且 ZF=09. 8088/8086 存储器分段,每个段不超过( D )D、64K 个字节10.表示过程定义结束的伪指令是( A )A、ENDP11 .用来存放下一条将要执行的指令代码段地址的段寄存器是( D )D 、CS12 .假定(SS) =1000H, (SP) =0100H, (AX)=5609H,执行指令 PUSH AX 后,存放数据56H 的物理地址是( D )D、100FFH13.执行“ SUB AX, [BP][DI] ”指令,取源操作数时,使用的物理地址表达式是( A )A、16*SS+BP+DI14 .设AX中有一带符号数 8520H,执行“ SAR AX, 1”指令后,AX中的值是(C )C、0C290H15 .设(BX =1234H,( DS =2000H, ( 21234H) =5678H,则指令“ LEA SI,[BX] ” 执行后的结果是:( B )B、SI=1234H16 .测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A )A 、 JNE17 .设 DF=Q (SI) =20H, (CX) =10,执行“ REP LODSW 指令后,SI 中的内容是(C )C 、 34H18.在程序执行过程中, IP 寄存器中始终保存的是( B )B 、下一条指令的首地址19 .设SP初值为2000H,执行指令“ POP AX'后,SP的值是(A )A、2002H20 .若 AX=3500H CX=56B8H 当 AND AX CX指令执行后, AX= ( A )A、1400H21 .汇编源程序时,出现语法错误的语句是( A )A、MOV DS, 1200H22 •将数据1234H存放在存储单元中的伪指令是( C )C 、 DATA1 DB 34H, 12H23 .下面指令执行后,可能改变AL寄存器内容的指令是( D )D 、AND AL, BLB、寄存器间接寻址25 •用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )B、汇编语言程序26 .用DOS功能调用时,子功能调用的编号应放在( C )C、AH27 .提供串指令中目的操作数地址的是( C )C、ES: [DI]28 .在寄存器间接寻址方式下,能够提供有效地址的寄存器有( B )B、BX BP, SI , DI29 .已知某操作数的物理地址是2117AH则它的段地址和偏移地址可能是( A )A、2025 : 0F2A30 .中断向量表中的每个中断向量所占内存空间为:(B )B、4个字节、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS中。

【汇编语言程序设计】试题及答案合集 2(1)

【汇编语言程序设计】试题及答案合集 2(1)

汇编语言程序设计试题及答案1.对于有符号的数来说,下列哪个值最大()A:0F8HB:11010011BC:82 D:123Q2.下列有关汇编语言中标号的命名规则中,错误的是()A:通常由字母打头的字符、数字串组成B:标号长度不能超过31个字符C:?和$不能单独作为标号D:.号不可位于标号首3.8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式()A:寄存器寻址B:相对基址变址寻址C:变址寻址D:基址变址寻址5.若AX= - 15要得到AX=15应执行的指令是()A.NEG AXB.NOT AXC.INC AXD.DEC AX6.8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志7.若要求一个操作数中的若干位维持不变,若干位置“1”,可以使用()A:NOT B:OR C:AND D:XOR8.下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB [BX],[BP][DI]D. MOV DX,[1000H]9.关于8086/8088微机系列,下列说法哪个是正确的()A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。

C:在内存空间中,可以无限分配段,且段的大小不受限制。

D:段与段之间可以邻接,也可以重叠。

10.下列关于堆栈的说法,错误的是()A:以“先入后出”为原则。

B:栈区最高地址单元的前一个单元为栈底。

C:运行中SP寄存器动态跟踪栈顶位置。

D:压栈和弹出都是以字节为单位。

11.表示过程定义结束的伪指令是()A.ENDPB.ENDSC.ENDD.ENDM12.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $-BUF1符号COUNT等价的值是()A.6B.18C.16D.913.下列标志位中,可以用来判断计算结果正负的是()A:PF B:SF C:DF D:OF14.下列指令正确的是()A. MOV [100H], [BX]B.MOV DS, ESC. ADD V[BX], CXD.MOV AX, 34H15.下列哪个寄存器是属于指针寄存器()A:SI B:DX C:SP D:ES二、填空题 (每小题4 分,共 20 分)1.下列程序段求数组FLD的平均值,结果在AL中。

汇编语言程序设计试卷及答案AB卷

汇编语言程序设计试卷及答案AB卷

2010—2011学年度第(1)学期期末考试试卷科 目:汇编语言程序设计 (A )卷考试形式:闭卷 考试时间: 120 分钟系别、班级: 姓名: 学号:一、单项选择题:(本题共20小题,每小题1分,共20分) 1. 设DS=5788H ,偏移地址为94H ,该字节的物理地址是 。

(A) 57974H (B) 57914H (C) 5883H (D) 58ECH 2. IP 指令指针寄存器是属于 。

(A) 通用寄存器 (B) 段寄存器(C) 变址寄存器 (D) 控制寄存器3. 下面有语法错误的指令是 。

(A) ADD AL,AH(B) ADD [BX+3],AL (C) ADD AH,[DI](D) ADD [BX],DA1(DA1是变量名)4. 完成对DX 的有符号数除以2的指令是 。

(A) IDIV 2 (B) SAR DX,1 (C) DIV 2 (D) RCR DX,1 5. 使进位位置1的指令是 。

(A) CLC (B) CMC (C) STC(D) NOP 6. 设AL=-100,要使AL=100应执行的指令是 。

(A)NEG AL (B)NOT AL(C)INC AL (D)DEC AL7.在条件转移指令中,结果为负数则转移的指令是。

(A)JNS (B)JZ(C)JS (D)JC8.下面的XCHG指令中,语法正确的是。

(A)XCHG AL,DS (B)XCHG BH,[BX](C)XCHG AL,OFH (D)XCHG BUF1,BUF29.一条指令中目的操作数不允许使用的寻址方式是。

(A)寄存器寻址(B)立即数寻址(C)变址寻址(D)直接寻址10.设SP=1FFFH,执行下列指令后,SP寄存器的值是。

┇POPFPUSH BXPUSH BX┇(A)2000H (B)2002H(C)1FFCH (D)1FFEH11.LES SI ,[2000H]指令的全部功能是。

(A)把地址2000H送SI(B)把地址2000H字单元的内容送SI(C)把地址2000H字单元内容送SI,把2002H字单元内容送ES(D)把地址2000H字单元内容送ES,把2002H字单元内容送SI12.设AL=04H,CL=0F8H,执行MUL CL指令后,结果是。

汇编语言程序设计debug调试命令

汇编语言程序设计debug调试命令
内容。 (8) Q(退出): 退出DEBUG,该操作不保护文件。 -Q
标志位:
“1”
“0”
OF:溢出标志 —— OV溢出, NV没溢出
DF:方向标志 —— DN减量, UP增量
IF:中断允许标志 —— EI允许, DI禁止
SF:符号标志 —— NG负数, PL正数
ZF:“0”标志
—— ZR为“0”, NZ不为“0”
下次课预习内容:顺序结构程序设计
要求:1、实验指导书及实验报告上的预习内容 2、预习验收时要提供设计的源程序磁盘或笔写程序
-E CS:211 21 2A
;从CS:211H开始输入2个字节的内容
-E 110 ‘anything’
;输入从DS:110H开始的字符串
⑹ D(显示存储器的内容):
默认寄存器是DS,格式是:
-D段地址:偏移地址
;显示80H个字节的内容。
-D
显示从上一次结束处开始的80H个字节 的内容。
⑺ R(显示修改寄存器内容) -R ;显示所有寄存器内容。 -RDS ;显示并可修改DS的内容。 -RF ;显示并可修改标志寄存器
实验数据记录注意事项:
1、实验报告第三页:表格中标志位与计算机 自动给出的不是一一对应的,要求记录1/0
2、实验报告第四、五页:列出调试运行后的程序清单
因为行汇编不识别标号,所以:用行汇编运行的程
序中没有行号,转移指令处是绝对地址。
验收内容:
1、用T命令执行完程序最后一条指令处的界面:
-T =段地址:0
-G=段地址:偏移地址
-G
;从程序当前位置执行到
程序结束
-G =200 260
;从指定200H地址开始执行, 遇到断点

IBM-PC汇编语言程序设计答案

IBM-PC汇编语言程序设计答案

第一章.习题1.1用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3将下列十六进制数转换为二进制数和十进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=0 1.6下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。

汇编语言程序设计复习题

汇编语言程序设计复习题

汇编语⾔程序设计复习题2008/2009下学期《汇编语⾔程序设计》复习题⼀、单项选择题1、使计算机执⾏某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、换码指令的助记符是( )A. XCHGB. LEAC. XLATD. MOV3、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()。

A.AX,BX,CX,DXB.BX,BP,SI,DIC.SP,IP,BP,DXD.CS,DS,ES,SS4、计算机能直接识别并执⾏的语⾔是( )A.汇编语⾔B.机器语⾔C.⾼级语⾔D.低级语⾔5. 堆栈的⼯作⽅式是( )A.先进先出B.随机读写C.只能读出,不能写⼊D.后进先出6、以下各个指令中正确的是()。

A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BXB. 能直接访问的端⼝范围是0~1KBC. 能访问的端⼝为64KBitD. 只能⽤DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址⽅式为()。

A. ⽴即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET VAR指令完全等效的指令是()。

A.MOV BX,V ARB.LDS BX,V ARC.LES BX,V ARD.LEA BX,V AR10、指令INC⼀定不会修改的标志是()。

A. 溢出标志OFB. 符号标志SFC. 进位标志CFD. 奇偶标志PF11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执⾏后BX 的值为()。

A. 5678HB. 1000HC. 0880HD. 8765H12、汇编结束语句有()种格式,为()。

A.1,END B.1,END 程序的启动地址标号C.2,END和END 程序的启动地址标号D.以上都不正确13、指令“CALL FAR PTR SUM”执⾏时将会向堆栈中顺次压⼊()。

2016汇编语言试卷A参考答案

2016汇编语言试卷A参考答案

2012汇编语言试题A一.单项选择题(每题1分,共20分)1.指令指针寄存器是(C)。

A)BP B)SP C)IP D)PSW2.DA1 DB 67HNUM EQU 80H则执行AND DA1,NUM语句后DA1中的内容是(D)。

A)E7HB)80HC)67HD)03.与指令MOV AX,NOT 0F0H等效的汇编语言指令是(B)。

A)MOV AX,0FH B)MOV AX,0FF0FHC)MOV AX,000FH D)MOV AX,0F0H4.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是(D)。

A)CMP B)SUB C)AND D)MOV5.将高级语言的程序翻译成机器码程序的实现程序是(A)。

A)编译程序B)汇编程序C)解释程序D)目标程序6.在程序顺序执行时,每取一条指令语句,IP指针增加的值是(D)。

A)1B)2C)3D)由指令长度决定的7.假设字节单元(02398H)=12H,(02399H)=34H,(0239AH)=56H,则(02399H)字单元的内容是(C)。

A)3412H B)3456H C)5634H D)1234H8.INC WORD PTR [BX] 指令中的操作数的数据类型是(A)。

A)字B)双字C)字节D)四字9.在循环程序中使用LOOP指令作为循环结束的判断,其计数值一般应放在寄存器是(B)。

A)DX B)CX C)BP D)IP10.在汇编语言程序设计中,伪指令OFFSET的含义是回送变量或标号的(B)。

A)段地址值B)偏移地址值C)物理地址值D)操作数11.下面的数据传送指令中,错误的操作是(D)。

A)MOV SS:[BX+DI],1000H B)MOV DX,1000HC)WORD PTR [BX],1000H D)MOV DS,2000H12.在下列指令的表示中,不正确的是(C)。

A)MOV AL,[BX+SI]B)JMP SHORT DON1C)DEC [BX]D)MUL CL13.在一列段寄存器中,堆栈段寄存器是(D)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 Y N 指令序列 2 指令序列 3
微机原理 汇编语言程序设计(26)
分支程序设计
例:设内存中有两个互不相等的无符号字数据,分别是放在X单 元和Y单元,若X>Y ,则将X-Y的结果送入RESULT单元,否则,将 X+Y的结果送入RESULT单元。 MOV DS,AX .MODEL SMALL MOV AX,X .586 CMP AX,Y .STACK JBE PLUS STK DB 20 DUP (0) SUB AX,Y .DATA JMP NEXT X DW 32 PLUS: ADD AX,Y Y DW 48 NEXT:MOV RESULT,AX RESULT DW ? MOV AH,4CH .CODE INT 21H DOS START: MOV AX,DATA END START
微机原理 汇编语言程序设计(19)
简单程序设计
将内存X单元的内容拆成两段,每段4位,并将它们分别存入内存Y和Z单 元。即X单元中的低4位放入Y的低4位,X单元中的高4位放入Z的低4位, 而Y和Z的高4位均为零。
.MODEL SMALL .586 .DATA X DB 7AH Y DB ? Z DB ? .CODE START PROC FAR ST: PUSH DS MOV AX, 0 PUSH AX MOV AX,DATA 微机原理 汇编语言程序设计(20)
微机原理 汇编语言程序设计(10)
补充:汇编语言程序设计
• 查错和调试 •查错和调试是软件研制很关键的一步。 各个模块可以独立编写和调试,调试 完后,再把它们连接起来形成一个完 整的程序。有些微机应用系统的软件 需要存放在ROM或EPROM中,在存入之 前必须进行查错,调试和仿真运行后 方可写入。
微机原理 汇编语言程序设计(8)
补充:汇编语言程序设计
• 程序设计 1. 首先要分析问题,弄清需求: • 程序的功能 • 功能完成上有什么要求 • 有哪些数据,数据的类型是怎样的 • 已有系统的基础有哪些 2. 确定算法,绘制流程图,包括确定数据结构及数据定义、 分配存储单元及工作单元 3. 编程 4. 静态检查与调试 5. 文档管理 6. 维护与再设计
微机原理 汇编语言程序设计(18)
PUSH AX
MOV MOV MOV MOV MOV ADD ADD MOV MOV START END AX,DATA DS,AX BX,OFFSET TABL AH,0 AL,XVAL AX,AX BX,AX AL,[BX] YVAL,AL RET ENDP START
补充:汇编语言程序设计
• 程序处理阶段的说明 ①应用系统中算术逻辑运算的比重 ②采用的基本算法 ③所用的指令类型及指令出现的概率 ④结果的精确程度,处理时间的限制 ⑤内存空间的节省等。 ⑥使用哪些监控程序
微机原理 汇编语言程序设计(7)
补充:汇编语言程序设计
• 出错处理和操作的说明 ① 可能发生什么类型的错误,哪些错误是最经常 出现的错误? ② 系统如何才能以最低限度的时间和数据损失来 排除错误。对错误处理的结果,以何种形式记 录在案或显示? ③ 哪些错误或故障会引起相同的不正常现象?如 何区分这些错误或故障。 ④ 为了方便查找故障源,是否需要研制专用测试 程序和诊断程序。 ⑤ 操作因素
对硬件的依附性
程序员硬件知识 应用范围

高 较广

较低 广泛
微机原理 汇编语言程序设计(13)
补充:汇编语言程序设计
• 汇编语言程序设计的特点 • 在算法的实现上,由于汇编语言指令功能较 弱,因此考虑的问题要细小的多,层次要低 得多。因此,对指令集功能既要有一个较全 面的宏观上的把握,又要对指令的执行有一 个微观上的理解。 • 变量的具体存储格式需要搞得很清楚,还要 进行具体的内存分配。 • 在很多汇编语言程序中,需要考虑时序问题, 因为涉及到硬件的控制。
MOV AL,X MUL AL MOV BL,Y ADD BL,BL ADD BL,Y MOV BH,0 SUB AX,BX SHR AX,1 MOV Z, AX RET EXPRE ENDP CODE ENDS END START
简单程序设计
查表程序1:已知某班学生的英语成绩按学号(从1开始)从小到大的顺 序排列在TAB表中,要查的学生的学号放在变量NO中,查表结果放在变量 ENGLISH中。
MOV DS,AX MOV AL,X AND AL,0FH MOV Y,AL MOV AL,X MOV CL,4 SHR AL,CL MOV Y,AL RET START ENDP END ST
习题
1.编程计算(V-(X×Y+Z-540))/X,结果商、余数分 别存放在R1和R2单元中。其中,X、Y、Z、V均为16位 带符号数,已分别存放在X、Y、Z、V单元中。 2.在内存首地址为TAB开始的16个单元内连续存放着0~15 的平方值,在内存X单元中任给其中的一个数,查表求 其平方值,并把结果存入Y单元中。试编写程序。
微机原理 汇编语言程序设计(25)
MOV AL,X TEST AL,80H JZ NEXT NEG AL NEXT: MOV RESULT,AL MOV AH,4CH INT 21H END START
分支程序设计
• 不完全分支的实现: 指令序列;影响状态标志位 JCC LABEL 指令序列2 LABEL:指令序列3 指令序列
微机原理 汇编语言程序设计(21)
分支程序设计
• 利用条件转移指令,使程序执行到某一指 令后,根据条件是否满足,改变程序执行 的次序。 • 先用比较指令或数据操作及位检测指令等 来改变标志寄存器各个标志位。然后用条 件转移指令进行分支。
微机原理 汇编语言程序设计(22)
分支程序设计
• 二路分支 • 不完全二路分支
• 完全二路分支

• 多路分支
微机原理 汇编语言程序设计(23)
分支程序设计
• 简单的双分支程序设计 (不完全的分支程序)
微机原理 汇编语言程序设计(24)
分支程序设计
已知在内存中有一个字节单元NUM,存有带符号数据,要求计算出 它的绝对值后,放入RESULT单元中。
.MODEL SMALL .586 .DATA X DB -25 RESULT DB ? .CODE START:MOV AX,DATA MOV DS,AX
微机原理 汇编语言程序设计(5)
补充:汇编语言程序设计
• 系统存储器的说明 ①本微计算机应用系统是否采取存储器 掉电保护措施。 ②系统存储器资源如何管理,工作区域 如何划分。 ③采用何种软件结构最容易做到只改换 一两片 ROM就能改变系统的软件功能。 ④如何使用只读存储器。
微机原理 汇编语言程序设计(6)
补充:汇编语言程序设计
• 系统说明 • 输入定义 ① 输入量是何种信息? ② 输入何时准备好,CPU如何知道输入已准备好?采用什 么方式输入? ③ 该输入是否有自己的时钟信号,是否需要CPU提供软件 定时? ④ 输入信号是否由接口锁存?如果不锁存,该信号能保持 多长时间供 CPU读取? ⑤ 输入信号多长时间变化一次?CPU如何知道这种变化, 并及时响应。 ⑥ 输入数据是否是个数据序列(数据块),是否需要校验? 若校验出错,应作何处理? ⑦ 该输入是否同其它的输入或输出有关系?
微机原理 汇编语言程序设计(17)
.MODEL SMALL .586 .STACK DB 200 DUP(0) .DATA TAB DB 80,85,86,71,79,96 DB 83,56,32,66,78,84 NO DB 10 ENGLIST DB ? .CODE
BEGIN:MOV AX,DATA MOV DS ,AX LEA BX,TAB MOV AL,NO dec al XLAT TAB MOV ENGLISH,AL MOV AH,4CH INT 21H END BEGIN
简单程序设计
• 小结: • 对于一些复杂运算,如计算平方值,立方值,方根, 超越函数,三角函数等以及一些输入与输出间无一 定算法关系的问题,如有些代码间的转换等都可用 查表法解决。这样,使程序既简单,求解速度又快。 • 查表的关键在于组织表格。表格中应包含题目所有 可能的值,且按顺序排列,这样就把需要做出判断 或运算的任务简化为组织表格。查表操作就是利用 表格首址加索引值得到结果所在地址。索引值通常 就是被查的数值。
微机原理 汇编语言程序设计(27)
分支程序设计
• 完全二路分支的实现方法1: 指令序列 JCC LABEL 指令序列1 JMP LABEL3 LABEL2:指令序列2 LABEL3:指令3
指令序列
N
指令序列1
Y
指令序列2
指令3
微机原理 汇编语言程序设计(28)
Байду номын сангаас
分支程序设计
例:判断输入的ASCII码字符是字母还是数字。
微机原理 汇编语言程序设计(11)
补充:汇编语言程序设计
• 文件编制 •总流程图; •程序功能的书面说明; •所有参量的定义清单; •存储器分配图; •完整的程序清单和注释; •测试计划和测试结果的说明 • 维护和再设计
微机原理 汇编语言程序设计(12)
汇编语言和高级语言的比较
语言 代码效率 源程序可读性 汇编语言 高 较差 高级语言 较低 好
微机原理 汇编语言程序设计(14)
补充:汇编语言程序设计
• 程序的的基本结构 • 顺序结构
a
• 分支结构

b
c
d
• 循环结构
e
微机原理 汇编语言程序设计(15)
f
简单程序设计
算术运算: 编程计算z=(x2-3y)/2。设x,y为单字节正整数,结 果z用2个字节来存放。
DATA SEGMENT X DB 25 Y DB 32 Z DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA EXPRE PROC FAR START: PUSH DS SUB AX,AX PUSH AX MOV AX, DATA MOV DS,AX 微机原理 汇编语言程序设计(16)
相关文档
最新文档