汇编语言和汇编程序
更新时间:2023-09-27 12:22:01 阅读量: 综合文库 文档下载
汇编语言和汇编程序
一、 回答下列问题
1、 何谓汇编语言程序?何谓汇编程序?简述汇编程序的功能。 2、 什么叫做变量?变量有哪几种属性?程序中如何放问变量? 3、 什么叫做标号?标号有哪几种属性? 4、 8088汇编语言中有哪几类运算符?
5、 什么叫做表达式?它的运算规则是什么?
6、 8088/8086汇编语言程序中段的类型有哪几种?段定义中定位类型、组合类型和类别名各有什么作用?
7、 设VALA EQU 200 VALB EQU 30 VALC EQU 1BH 下列表达式的值各为多少? (1)(VALA*VALC+VALB)/VALC (2)(VALA MOD VALC-VALB/VALC (3)(VALB AND 0FH)OR (VALB XOR 0FH) (4)(VALA GE VALB )AND 0FH
8、 根据下列数据定义,各条指令单独运行后,AX的内容是什么? TABLEA DW 10 DUP(?) TABLEB DB 10 DUP(?) TABLEC DB ‘1234’ TABLED DW 1,2,3,4
(1) MOV AX,TYPE TABLEA (2) MOV AX,TYPE TABLEB (3) MOV AX,TYPE TABLEC (4) MOV AX,TYPE TABLED (5) MOV AX,LENGTH TABLEA (6) MOV AX,LENGTH TABLEB (7) MOV AX,LENGTH TABLEC (8) MOV AX,LENGTH TABLED (9) MOV AX,SIZE TABLEA (10) MOV AX,SIZE TABLEB (11) MOV AX,SIZE TABLEC (12) MOV AX,SIZE TABLED
9、 执行下列指令后,AX寄存器的内容是什么? TABLE DW 0,100,200,300,400 DISTA DW 6
(1)MOV BX,OFFSET TABLE ADD BX,DISTA MOV AX,[BX] (2)LEA BX,TABLE MOV AX,2[BX]
(1) MOV SI,4
MOV BX,OFFSET TABLE MOV AX,[BX][SI] (2) MOV BX,DISTA MOV AX,TABLE[BX]
10、 画图说明下列语句分配存储空间及初始化的数据值。 (1) BYTE-VAR DB ‘BYTE’,12,12H,2 DUP (0,3 DUP(2)) (2) WORD-VAR DW 4 DUP(0,1,2),-5,‘BY’,‘TE’ 11、 定义一个数据段的字符变量和数据变量。 (1) TRING为字符串变量:‘Personal computer’ (2) VALD为十进制数字节变量12,99 (3) VALH为十六进制数字变量32H,0FAH (4) VALZ为10个零的字节变量 (5) VALW为20个字单元
12、 根据数据段的定义,答出L值是多少?它表示什么意义? (1)BUFA DB 0
BUFB DB 1
L EQU BUFB-BUFA (2)STA DW 20 DUP(?) L EQU LENGTH STA 13、 定义一个数据段,要求如下: (1) 段界起始于字边界
(2) 该段与同名逻辑段相邻连接成一个物理段 (3) 类别号为‘DATA’ (4) 定义数据12,30,‘ABCD’ (5) 保留20个字的存储区 二、填空题
1、假设(DS)=2000H,(BX)=1256H,(SI)=528FH;位移量TABLE=20A1H,(232F7H0=3280H,(264E5H)=2450H,则
执行指令JMP BX后,(IP)= ; 执行指令JMP TABLE[BX]后,(IP)= ; 执行指令JMP [BX][SI]后,(IP)= 。
2、在1000H单元中有一条二字节指令JMP SHORT LAB,如果其中偏移量分别为30H、6CH、0B8H,则转向地址LAB的值分别为 ; ; ; 3、数据段中有以下定义: ARRAY1 EQU 16H ARRAY2 DW 16H
请指出下面两条指令的寻址方式:
MOV AX,ARRAY1; 寻址方式 。 MOV AX,ARRAY2; 寻址方式 。 4、下面两个语句的区别在于 、 。 X1 EQU 1000H X2 =1000H
5、指令“AND AX,STR1 AND STR2”中,STR1和STR2是两个已赋值的变量,两个AND的区别是 、 。
6、指令LOOPZ/LOOPE是结果 或 发生转移的指令。而指令LOOPNZ/LOOPNE则是结果 或 发生转移的指令。
7、调用指令CALL可分为 、 、 和 等四种调用。
8、在汇编语言中,一个过程有NEAR和FAR两种属性。NEAR属性表明主程序和子程序 ,FAR属性表示主程序和子程序 。
9、串处理指令规定源寄存器使用 ,源串在 段中;目的寄存器使用 ,目的串必须在 段中。 10、 是过程定义结束伪指令,与 配套使用。 是段定义结束伪指令,与 配套使用。
11、一个有16个字的数据区,它的起始地址为70A0:DDF6H,那么该数据区的最后一个字单元的物理地址为 H。
12、对于下面的数据定义: A1 DW 20 DUP(?) A2 DB 20 DUP(?) A3 DB ‘987654321’ ??
MOV AX,LENGTH A1 MOV BX,LENGTH A2 MOV CX,LENGTH A3
各条指令执行后,相应寄存器的内容为:(AX)= ,(BX)= ,(CX)= 。 13、在数据段定义有一字变量如下: DATA SEGMENT
ARRAY DW 2,$+2,5,7,$+6,0DH DATA ENDS
填入数据段ARRAY区存储单元的内容。 14、执行下列指令后:
TABLE DW 10,20,30,40,50 ENTRY DW 3 ?? MOV BX,OFFSET TABLE
ADD BX,ENTRY MOV AX,[BX] 寄存器(AX)= 四、是非判断题
1、 程序在数据段中的定义如下: DATA SEGMENT NAMES DB ‘ABCD’ NAMET DW 20 DATA ENDS
请判断下列指令是否正确?正确的填‘A’,错误的填‘B’并说明原因
(1) MOV BX,OFFSET NAMES ( ) MOV AL,[BX+2] ( ) (2) MOV AX,NAMES ( )
(3) MOV AX,WORD PTR NAMES+1 ( ) (4) MOV AL,NAMET ( )
(5) MOV AL,BYTE PTR NAMET ( ) (6) MOV AX,DATA ( ) MOV DS,AX ( )
(7) MOV AX,SEG NAMES ( ) (8) MOV BX,DATA ( )
MOV AL,[BX+3] ( )
2、 下面各题中有无语法错误?若无语法错误,请在括号中填‘A’,若有语法错误,请在括号中填‘B’,并按其意图修改题中的相应语句。 (1)M1 DB 1234 ( )
(2)M2 DW ‘ABCD’ ( ) (3)M3 DW 50H : :
MOV AL,M3 ( ) (4)M4 EQU 10H : :
MOV M4,AL ( ) (5)M5 DB ? : :
MOV BX,M5
MOV [BX],1000H ( )
汇编语言程序设计
一、完成下列练习
1、 设(DS)=0300H,(CS)=0200H,(IP)=0100H,(BX)=1000H,DISPLACE=2000H,(4000H)=5000H,(6000H)=8000H
确定无条件转换指令的段内转移地址
(1) JMP BX (2) JMP [BX]
(3) JMP DISPLACE[BX]
2、 设AX和BX寄存器中是有符号数,CX和DX寄存器中是无符号数,写出下列条件转移指令。 (1) CX值高于或等于DX值,则转移HIEQU (2) AX值大于BX值,则转移GREAT (3) CX值为0,则转移ZERO
(4) AX值小于或等于BX值,则转移SMAEQU (5) CX值低于或等于DX值,则转移LOWEQU (6) AX为负值,则转移NEGAT (7) AX为偶数,则转移IMAGE
3、 写出下列串操作指令所替代的指令序列。 (1) REP MOVSB (2) REP LODSB (3) REP STOSB (4) REP SCASB
4、 指出下列指令序列中的错误。 (1) CMP AL,-3
JA INVALID : :
INVALID:??
(2) START:MOV CX,3
SUB AL,10 LOOP START : :
(3)CRAY PROC
PUSH AX ADD AX,BX RET
CRAY ENDP (4)IN AL,PROT JPE NEXT : :
NEXT:??
5、 分析执行下列程序段完成什么功能? (1) BEGIN:IN AL,5FH
TEST AL,80H JZ NEGATIVE MOV AH,0 JMP STOP
NEGATIVE:MOV AH,0FFH STOP: HLT
(2) START:IN AL,20H MOV BL,AL IN AL,30H MOV CL,AL MOV AX,0 REPEAT:ADD AL,BL
ADD AL,BL ADC AH,0 DEC CL JNZ REPEAT HLT
(3)ASK: MOV DX,0210H IN AL,DX TEST AL,48H JNZ ASK INC DX MOV AL,0FFH OUT DX,AL : :
二、编写下列程序
1、 数据段定义如下: DATA SEGMENT FIRST DB 90H,5FH,6EH,69H SECOND DB 4 DUP (?) THIRD DB 4 DUP (?) FORTH DB 4 DUP (?) DATA ENDS
(1) 编写程序,将FIRST开始的四个字节十六进制数左移两位,结果存放在SECOND开始的存储区中。
(2) 编写程序,将FIRST开始的四个字节十六进制数右移4位,结果存放在THIRD开始的存储区中。
(3) 编写程序,求FIRST开始的四个字节十六进制数的补码,结果存放在FORTH开始的存储区中。 2、 在内存缓冲区BCDBUF中,存放10个字节压缩的BCD数,编写程序求这10个数的和,结果送SUM缓冲(占用两个字节)。
3、 编写程序计算S=2+4+6+??+200。
4、 编写将BUFFER为开始的100个连续单元清零的程序。
5、 编写程序把SOURCE源数据区的100个数据,存放在DEST目的数据区。
6、 将FIRST单元开始的数据块传送到SECOND单元开始的存储区中,若发现传送的数据为0,则结束传送,分两种情况编写程序。
(1) 两个数据区不重迭。 (2) 两个数据区重迭。
7、 编写一个程序,比较两个字符串是否相等。若两个字符串相等,则在RESULT单元存放字符‘E’;否则存放字符‘N’。
8、 编写一个程序,求有20个元素的两个数组之和,并把和数存于新数组SUM中。 9、 FIRST和SECOND均为长度10个字节的数组,编写程序将两个数组中的内容交换。
10、 一个字符串以‘$’字符结束,编写一个程序统计英文字母A出现的频率(不分大小写)。
三、填空
1、 程序段如下: DATA SEGMENT ORG 2000H TWO=2 NUM DB 3,4 WORDS DW 1011H,2022H CHAR1 DB ‘13’ WORK DB 2 DUP(?) TEN EQU 10 CHAR2 ‘5’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROC FAR START: PUSH DS XOR AX,AX PUSH AX
正在阅读:
汇编语言和汇编程序09-27
2019四川省达州市中考数学试卷 解析版03-14
应用文写作要点05-23
南京都一框架结构工业厂房施工组织设计_secret06-03
《短文两篇》教案 (人教版七年级上册)04-23
商务代理合同书09-03
2012年公文写作作业03-18
2018年大学生入党申请书范文200009-08
难忘的一天作文800字07-01
重金属污染防治政策:湖南省03-08
- 企业安全培训试题题库
- 《WEB应用开发》复习题
- 2018届河南省新乡市高三第三次模拟测试英语试题Word版含答案
- 山东省建设工程优质结构评审标准(试行)
- 2016-2022年中国MEMS行业分析及发展趋势预测报告 - 图文
- 工程材料习题和练习 - 图文
- 2013--2014年小学六年级数学毕业水平检测卷及答案
- 江苏省2017-2018学年高考模拟历史试题分解(现代世界经济) Word版
- 移动通信实验指导书
- 2017-2018年最新审定新人教版六年级语文新人教版小学语文六年级
- 会展案例分析教案
- 数据库复习题
- 情智作文之学会选材
- 高一年级十月月考地理试题
- 河南省教育科学“十三五”规划2018年度一般课题立项名单
- 大学生宿舍文化现象调查与分析
- 山东省潍坊市2010届高三第二次模拟考试 理综 Word版
- 风险管理简答题
- 大连广播电视大学
- 民航安全管理经典论文
- 汇编程序
- 汇编语言
- 工程测量计算题
- 进出口商品的价格习题A
- 遵义石油分公司计量损耗、质量管理
- WLAN技术讲座-满分试卷(时代光华)
- TOC简介 - 图文
- 东师大学英语(一)高起专16秋在线作业1
- 军屯小学2011年六一庆祝活动方案定稿
- 激发学生高阶思维
- 垃圾分类测试题
- 新概念笔记第一册Lesson15-16
- 2.职场沟通不能犯的十个低级错误140803
- 汽车冲压模具设计标准--翻边整形模设计标准
- 清表土集中堆放方案160613 - 图文
- 2013-2014学年八年级上学期物理期末 试卷(无答案)
- 三年级上册语文教案-2《吹泡泡》语文S版
- 17世纪至19世纪法国军用制式标准步枪(上篇之二) - 图文
- 宏发猴车道探放水设计及安全技术措施
- 八年级数学下学期期中试卷(含解析) 新人教版8
- 自然辨证法期末作业期末大报告 - 图文
- 二年级上册书法教学计划