1、已知一数据段中的数据定义如下:datasegment
str1db 0,1,2,3,4,5str2db ‘012345’countequ 30
numbdb 3 dup(2)numwdw 10h,-60hpoindw 0dataends
根据以上数据段的定义,改正下列语句中的错误。(1)movax,str1str1为字节型存储空间,ax为16位寄存器,不能直接mov(2)movbp,offset str2movcl,[bp](3)movsi,offset numbmov[si],’4)movdl,numw+2(5)movdi,ch(6)movbx,offset str1movdh,bx+3(7)inccount(8)movnumb,str2(9)leapoin,numw
bp间接寻址时缺省的段寄存器是ss,str2定义在数据段中[si]寻址的是内存单元,作为目标操作数时应指明操作方式numw为字型存储空间,不能直接mov到8位寄存器中寄存器位宽不一致mov dh,[bx+3]
count是定义的一个替换型的文本变量,在实际程序中无定义不可以在两个内存单元之间直接movlea的目标操作数只能是16位寄存器。
2、已知下列数据段定义:datasegmentnumdw10,20,30,40,50bufdw3dataends
执行下列程序后,ax中的值是多少?movax, seg nummovds, axmovbx, offset numaddbx, buf
movax, [bx]
bx中的值为num+3,所以ax=1e00h
3、设程序中数据的定义如下:nodw?
namedb16dup(0)countdd?length equ$-no
请问length的值为多少?表示什么意义?
length=22,表示从no标号到length之前定义的变量一共占用了22字节的存储空间。
4、已知数据段有如下定义:
firstdb12h,34hseconddb56h,78h
用堆栈指令编一段程序实现将first和second单元的内容互换,first+1和second+1单元的内容互换。
pushword ptrfirstpushword ptrsecondpopword ptrfirstpopword ptrsecond5、设数据段中有10个8位无符号数,定义如下(实际数据请随机设置):
numdb19,250,88,42,60,77,39,100,91,2
编写完整的汇编语言程序,找出这组数据中的最大数、最小数,同时计算平均值(取整),以十六进制的形式显示在屏幕上:
max=??hmin=??h**g=??h
要求给出实际调试运行过的**,打印/抄写在作业纸上。
6、编写完整的汇编语言程序,完成下述显示彩色字符串的功能:
1)显示字符串的功能必须用宏指令实现,在主程序中调用;(2)在0行10列显示绿色字符串hello(属性字02h);
在12行38列显示红色字符串ok(属性字04h);
在24行60列显示黄色字符串goodbye!(属性字0eh)。
汇编语言程序设计作业
题1.编写汇编语言源程序实现从键盘上输入1949至2049年中的某一日,计算并输出该日是这一年的第几天以及星期几。1 提示 通过输入的年 year 月 month 日 day 来计算该日是年内第几天 days 再以 year 1 year 1 4 year 1 100 year 1 400 days...
汇编语言程序设计作业
冒泡法排序 题目 1.程序简介 采用冒泡法进行排序 2.流程图 3 实现输入数据直接在程序中通过数组定义,或用文件方式读入,不要采用scanf include using namespace std define count 20数据个数。void bubblesort long array,int...
《汇编语言程序设计》试卷
姓名班级学号评分。一 判断题 10小题 以下各题中给出了一些86汇编语言语句,请对其合法性作出判定。合法的,记 否则,记 答案记于题后的括号中。不在括号中的内容一律不视为回答。使用其它符号或不能清晰辨认的记法作答被视为答错。不准涂改答案。否则,视为答错。1 mov es,word ptr absd ...