汇编语言程序设计第03次作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计第03次作业
1、已知一数据段中的数据定义如下:
DATA SEGMENT
STR1 DB 0,1,2,3,4,5
STR2 DB ‘012345’
COUNT EQU 30
NUMB DB 3 DUP(2)
NUMW DW 10H,-60H
POIN DW 0
DATA ENDS
根据以上数据段的定义,改正下列语句中的错误。
(1) MOV AX,STR1
(2) MOV BP,OFFSET STR2
MOV CL,[BP]
(3) MOV SI,OFFSET NUMB
MOV [SI],’+’
(4) MOV DL,NUMW+2
(5) MOV DI,CH
(6) MOV BX,OFFSET STR1
MOV DH,BX+3
(7) INC COUNT
(8) MOV NUMB,STR2
(9) LEA POIN,NUMW
2、已知下列数据段定义:
DATA SEGMENT
NUM DW 10,20,30,40,50
BUF DW 3
DATA ENDS
执行下列程序后,AX中的值是多少?
MOV AX, SEG NUM
MOV DS, AX
MOV BX, OFFSET NUM
ADD BX, BUF
MOV AX, [BX]
3、设程序中数据的定义如下:
NO DW ?
NAME DB 16 DUP(0)
COUNT DD ?
LENGTH EQU $-NO
请问LENGTH的值为多少?表示什么意义?
4、已知数据段有如下定义:
FIRST DB 12H,34H
SECOND DB 56H,78H
用堆栈指令编一段程序实现将FIRST和SECOND单元的内容互换,FIRST+1和SECOND+1单元的内容互换。
5、设数据段中有10个8位无符号数,定义如下(实际数据请随机设置):
NUM DB 19,250,88,42,60,77,39,100,91,2
编写完整的汇编语言程序,找出这组数据中的最大数、最小数,同时计算平均值(取整),以十六进制的形式显示在屏幕上:
MAX=??H
MIN=??H
AVG=??H
要求给出实际调试运行过的代码,打印/抄写在作业纸上。
6、编写完整的汇编语言程序,完成下述显示彩色字符串的功能:
(1) 显示字符串的功能必须用宏指令实现,在主程序中调用;
(2) 在0行10列显示绿色字符串Hello(属性字02H);
在12行38列显示红色字符串OK(属性字04H);
在24行60列显示黄色字符串Goodbye!(属性字0EH)。