《汇编语言》实验指导书.doc

上传人:飞****2 文档编号:78768254 上传时间:2023-03-19 格式:DOC 页数:36 大小:200KB
返回 下载 相关 举报
《汇编语言》实验指导书.doc_第1页
第1页 / 共36页
《汇编语言》实验指导书.doc_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《《汇编语言》实验指导书.doc》由会员分享,可在线阅读,更多相关《《汇编语言》实验指导书.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、汇编语言实验指导书计算机学院网络工程系李冬艳201491 实验一 汇编语言上机环境及基本操作一、实验目的及要求1学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。2熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。二、实验内容 1汇编语言源程序的建立本例中给出的程序是要求编写3+5=8的程序,并把8存入AL或AX中。设定源程序的文件名为ABC.ASM 。(用任何一个种文本编辑器编写此程序,存盘) 或双击桌面的 “Masm for Windows 集成实验环境 2012.5”快捷文件图标,进入汇编语言集成开发环境DATAS SEGMENT ;此处输入数据段代

2、码 DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;=MOV AX ,3 ;自己写的代码Mov BX ,5 ;自己写的代码 ADD AX ,BX ;自己写的代码(只有3条);此处输入代码段代码;= MOV AH,4CH INT 21HCODES ENDS END START程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。2 将源程序文件汇编成目标程序文

3、件一般情况下,汇编程序MASM.exe的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。(3)若程序中使用了宏指令,则汇编程序将展开宏指令。3用链接程序link.exe生成可执行程序文件经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过链接以后,才能成为可执行文件(即扩展名为.EXE)。链接以后,便可以产生可执行程序文件(.EXE文件)。4程序的执行本程序当中没有编写输出部分代码,所以在屏幕上看不到程序执行的结果。我们可以采用调试程序DEBUG来进行检查,相关内容请参见实验二。实验

4、二 DEBUG调试程序的应用一、实验目的DEBUG.EXE程序是专门为分析、研制和开发汇编语言程序而设计的一种调试工具,具有跟踪程序执行、观察中间运行结果、显示和修改寄存器或存储单元内容等多种功能。它能使程序设计人员或用户触及到机器内部,因此可以说它是80X86CPU的心灵窗口,也是我们学习汇编语言必须掌握的调试工具。二、实验内容1在DEBUG环境下建立和汇编程序在DEBUG环境下用户可以直接建立汇编语言源程序,并可以进行编辑修改和调试。比如,在DEBUG下编写如下程序:MOV DL,33H ;字符3的ASCII码送DLMOV AH,2 ;使用DOS的2号功能调用INT 21H ;进入功能调用

5、,输出3INT 20H ;BIOS中断服务,程序正常结束。该程序运行结果是在显示器上输出一个字符3。如果要输出其它字符,请改变程序中33H为相应字符的ASCII码。其中涉及DOS和BIOS功能调用。因为我们是在DOS的支持下运行汇编语言程序,所以一般情况下,不能轻易使用输入/输出指令直接通过端口输入输出,而必须使用DOS内部提供的子程序完成输入/输出。DOS功能调用就是为诸如此类的目的设置的。DOS功能调用要求在进入INT 21H调用前,首先将功能调用号送AH寄存器,并根据功能调用号准备初始数据。也就是说INT 21H的2号功能调用是输出DL寄存器中的字符。INT 20H是BIOS中断服务,这

6、一软中断用来正常结束程序。具体步骤如下:进入debug调试环境后,(1)输入程序并汇编_A 1000B03:0100 MOV DL,330B03:0102 MOV AH,20B03:0104 INT 2l0B03:0106 INT 200B03:0108“0B03:0100”类似这样的地址是系统自动提供的,不需用户输入。至此程序已输入完毕,并汇编成机器指令。现在用G命令运行程序如下:(2)运行程序_G3Program terminated normally如果现在想分析一下该程序的指令,可以用反汇编命令U作如下操作:(3)反汇编_U 100,1080B03:0100 B233 MOV DL,3

7、30B03:0102 B402 MOV AH,020B03:0104 CD21 INT 210B03:0106 CD20 INT 200B03:0108(4)将机器指令程序送到起始地址为200H的若干单元,将输入指令复制到代码段的200单元,可进行如下操作:_E cs:200 B2,33,B4,02,CD,21,CD,20(5)执行机器指令程序_G=2003Program terminated normally三、常用DEBUG命令DEBUG命令是在命令提示符“_”下由键盘键入的。每条命令以单个字母的命令符开头,然后是命令的操作参数,操作参数与操作参数之间,用空格或逗号隔开,操作参数与命令符之

8、间用空格隔开,命令的结束符是回车键(ENTER)。命令及参数的输入可以是大小写的结合。Crtl+Break键可中止命令的执行。Crtl+NumLock键可暂停屏幕卷动,按任一键继续。所用的操作数均为十六进制数,不必写H。1汇编命令A格式: (1)A :(2)A :(3)A (4)A功能:汇编命令是将用户输入的汇编语言指令,汇编为可执行的机器指令。键人该命令后显示段地址和偏移地址并等待用户从键盘逐条键入汇编语言指令。每当输入一行语句后按“ENTER”键,输入的语句有效。若输入的语句中有错,DEBUG会显示“ Error”,要求用户重新输入,直到显示下一地址时用户直接键入回车键返回到提示符“_”。

9、其中(1)用指定段寄存器内容作段地址;(3)用CS内容作段地址;(4)以CS:100作地址。以后命令中提及的各种地址形式,均指(1)、(2)、(3)中A命令后的地址形式。2比较命令C格式:C ,其中是由指出的一片连续单元,或由 L 指定的。功能:从的起始地址单元起逐个与目标起始地址以后的单元顺序比较单元的内容,直至源终止地址为止。遇有不一致时,以的形式显示失配单元及内容。3显示内存单元命令D格式: (1)D (2)D (3)D其中(1)以CS为段寄存器;(3)显示CS:100为起始地址的一片内存单元内容。功能:该命令将显示一片内存单元的内容,左边显示行首字节的段地址:偏移地址,中间是以十六进制

10、形式显示的指定范围的内存单元内容,右边是与十六进制数相对应字节的ASCII码字符,对不可见字符以代替。4修改内存单元命令E格式: (1)E (2)E 其中是一个十六进制数,或是用引号(或”)括起来的字符串;是以逗号分隔的十六进制数,或是用或”括起来的字符串,或者是二者的组合。功能:(1)将指定内容写入指定单元后显示下一地址,以代替原来内容。可连续键入修改内容,直至新地址出现后键入回车为止;(2)将逐一写入由开始的一片单元中,该功能可以将由指定地址开始的连续内存单元中的内容,修改为单元内容表中的内容。例如:_E DS:30 F8,AB,”AB”该命令执行后,从DS:30到DS:33的连续4个存储

11、单元底内容将被修改为F8H,ABH,41H,42H。5填充内存命令F格式:F 功能:将单元内容表中的值逐个填入指定范围,单元内容表中内容用完后重复使用。例如:F 05BC:200 L 10 B2,XYZ,3C该命令将由地址05BC:200开始的10H(16)个存储单元顺序填充“B2,58,59,5A,3C,B2,58,59,5A,3C,B2,58,59,5A,3C,B2”6连续执行命令G格式: (1)G(2)G=(3)G=,其中(2)、(3)中的“=”是不可缺省的。功能:l 默认程序从CS:IP开始执行。l 程序从当前的指定偏移地址开始执行。l 从指定地址开始执行,到断点自动停止并显示当前所有

12、寄存器、状态标志位的内容和下一条要执行的指令。DEBUG调试程序最多允许设置10个断点。7跟踪命令T格式:T =功能:如果键入T命令后直接按“ENTER”键,则默认从CS:IP开始执行程序,且每执行一条指令后要停下来,显示所有寄存器、状态标志位的内容和下一条要执行的指令。用户也可以指定程序开始执行的起始地址。的缺省值是一条,也可以由指定执行若干条命令后停下来。例如:T该命令执行当前指令并显示所有寄存器、状态标志位的内容和下一条要执行的指令。又例如:T 10 该命令从当前指令开始执行10H条指令后停下来,所有寄存器、状态标志位的内容和下一条要执行的指令。8反汇编命令U格式: (1)U (2)U

13、功能:反汇编命令是将机器指令翻译成符号形式的汇编语言指令。该命令将指定范围内的代码以汇编语句形式显示,同时显示地址及代码。注意,反汇编时一定确认指令的起始地址后再作,否则将得不到正确结果。地址及范围的缺省值是上次U指令后下一地址的值。这样可以连续反汇编。9执行过程命令P格式:P功能:执行一条指令或一个过程(子程序),然后显示各寄存器的状态。说明:该命令主要用于调试程序。它与跟踪命令T的作用类似,T命令是跟踪一条或多条指令,而P命令是执行一条指令(包括带重复前缀的数据串操作指令)或一个完整的过程(子程序)。例如:设有如下指令序列 : MOV AH,02H INT 21H :当要执行INT 21H

14、这条指令时,若用T命令进行跟踪,则进入INT 21H程序(DOS功能调用)后,需要数十次T命令才能返回当前程序;若采用P命令进行调试,则只执行INT 20H一条指令,执行完立即返回,给调试者的感觉好象是执行了一条普通指令一样。因此,当读者以后遇到CALL、INT n指令或带重复前缀的数据串操作指令时,若不想观察相应过程的详细执行过程,就可以用P命令。10显示命令R格式: (1)R(2)R 功能:显示当前所有寄存器内容、状态标志及将要执行的下一指令的地址(即CS:IP)、机器指令代码及汇编语句形式。其中对状态标志寄存器FLAG以状态标志位的形式显示,详见表2-1。表2-1 状态标志显示形式状态标

15、志位状态显示形式溢出标志OF有/无OV/NV方向标志DF减/增DN/UP中断标志IF开/关EI/DI符号标志SF负/正NG/PL零标志ZF零/非零ZR/NZ奇偶标志PF偶/奇PE/PO进位标志CF有/无CY/NC辅助进位标志AF有/无AC/NA键入该命令后将显示指定寄存器名及其内容,“:”后可以键入修改内容。键入修改内容后按“ENTER”键有效。若不需修改原来内容,直接按“ENTER”即可。例如:R AX11结束DEBUG返回DOS命令Q格式:Q功能:返回DOS提示符下。四、重新调试实验一的程序,看最终AX寄存器的值是多少?实验三 简单算术运算程序设计一、实验目的1 掌握数据传送和算术运算指令

16、的用法。2熟悉在PC机上建立、汇编、连接和调试程序的方法。3理解计算机中除法溢出的含义。二、实验内容1设W、X、Y、Z均为8位带符号数,要求完成计算表达式W=X+Y-Z。编程思路(仅供参考):该题目要求掌握运算中带符号数和无符号数运算的区别。本题目只考虑有符号数情况参考程序清单:ABC.ASMDATA SEGMENT X DB 1 ;x 单元存放数字1,以下类推 Y DB 4 Z DB 3 W DB ?,? ;预留2个单元,存放运算结果DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX , DATA MOV DS ,AX ;= MO

17、V AL , X ADD AL , Y ;x+y SUB AL ,Z ;x+y-z MOV W ,AL 存结果到W单元 ;=;=输出结果 MOV AH ,2 ;调用DOS中断INT 21H功能的2号子功能 ADD AL,30h ;个位数字变成数字字符, Mov dl,al INT 21H ;此3条语句输出数字的ASCII码;= MOV AH,4CH INT 21H CODE ENDS END START思考:1. 如果运算结果大于等于10,显示的结果正确吗?如何解决?2. 如果运算结果小于0,显示的结果正确吗?如何解决?实验四 汇编语言的输入输出一、实验目的1. 掌握数据传送和算术运算指令的用

18、法。2熟悉字符的输入输出。3理解计算机中除法溢出的含义。二、实验内容 改写实验三ABC.ASM,分以下6个问题进行编程1. 改写实验三ABC.ASM,把其中的X,Y,Z 都置空,代码如下 X DB ? Y DB ? Z DB ?2. 改为从键盘输入X,Y,Z的值,分别为1,4,3,输入单个字符的代码为:MOV AH , 1INT 21H ;调用INT 21H中的1号功能,输入单个字符,输入的字符的ASCII码值存放在AL寄存器中,分3次输入,然后再进行加、减运算,看看运算结果是否正确?如果不正确,如何解决?3. 如果想让输入和输出的结果如下图所示,又该如何解决?4. 如果想让输入和输出的结果如

19、下图所示,又该如何解决?5. 在此基础上,把ABC.ASM程序改为下面的表达式,写出代码: W=(X+Y)*2-Z)/2 ;X,Y,Z,W均为8位数值6如果X,Y,Z,W均为16位数值,那么如何编写下面的表达式的代码?W=(X*Y)+5-Z*5)/2 实验五 分支结构程序设计一、实验目的 1掌握分支程序的结构及相关指令。 2掌握分支程序的设计,调试方法。 二、实验内容 1 在BUF和BUF+1、BUF+2单元分别放有一个无符号字节型数,编程序将其中最大数存入MAX单元,并在屏幕上显示(要求画出流程图)。 2 要求同上,只是比较的数为有符号数。 3将1000H单元开始的10个字节数,采用奇偶校验

20、,将奇数在前偶数在后仍存回原数据区。本实验要求在DEBUG调试状态下进行,包括汇编程序、运行程序、检查结果。4大写字母转换成小写字母程序算法分析:由ASCII码字符表可知,英文大、小写的26个字母的值的差为20H,因此欲将从键盘上输入的大写字母转换为相应的小写字母,只需将从键盘输入的大写字母的ASCII编码值加上20H即可。5已知两整数变量A和B,试编制完成下列功能的程序:若两数中一个是奇数,则将奇数送入ABUF单元中,偶数送入BBUF单元中。若两个数均为奇数,则两数分别加1,并存入原变量中。若两个数均为偶数,则两变量不变。算法分析:设义、B两变量预先存放在数据段的ABUF和BBUF的字节单元

21、中,其值分别为X和Y。解答这个题目的关键是如何判断一个数是奇数或是偶数,这只要判断一个数的最低位是0或是1就可以了。若是0,则为偶数,若为1,则为奇数,可以采用TEST指令和条件转移指令JZ来实现,6在内存中以BUF单元开始缓冲区中连续存放着10个学生的分数,试编制程序统计其中90一100分、80一89分、60一79分及60分以下者各有多少人,并把结果分别存放在S9、S8、S7和S6中。7试编制程序,从键盘输入学生成绩(A、B、C、D),自动汇总并显示各类分数的人数(假定各类分数的总人数在0一9之间)。若按下键,则停止输入 ;若按下A、B、C、D之外的其他键,则提示“INPUT ERR0R”信

22、息。8应用跳转表法完成下面要求的多路分支程序的设计:根据从键盘输入的参数值0一7,分别转向标号为1017的程序段中,1017程序段分别实现显示字符0一70。9统计一个有10人的班中,男、女生的人数各是多少。将统计的男生人数存入变量MANK中,女生人数存入变量WOMAN中。算法分析:男、女生的标志可用“0”、“1”字符来表示,并从键盘输入此标志。根据题意,总人数已知,在此范围下,对输入标志进行分类求和显然可用循环结构来完成。每循环一次使相应人数增1,而循环计数值减1,直至该计数值为0。可用CX作为循环计数值,用LOOP指令对循环条件进行判定。实验六 循环结构程序设计一、实验目的1掌握循环结构程序

23、设计的方法;2掌握数据块传送程序设计的方法;3掌握循环指令的应用。二、实验内容1 编写程序实现将数据段STR1单元开始的20个字符移到STR2开始的存储区。假设STR1+20STR2,可以用串传送指令,也可以用MOV传送指令。 编程思路:该题目要求掌握单循环程序设计方法。为了实现指定功能,应从以下几个方面考虑:(1)数据串操作的起始位置从高地址还是从低地址开始。(2)确定使用串传送指令,还是用MOV指令。(1) 确定循环程序的结构。2 编制程序计算S=1+2+3+4+N直到和大于500为止,并将结果由屏幕上显示出来(N的值和最终的和的值)。其程序的逻辑框图如图3. 1所示,3 3000H内存单

24、元开始的100个字节存储单元全部清0。 本实验要求在DEBUG调试状态下进行,包括汇编程序、运行程序、检查结果。4 编程在屏幕上显示10行相同字符串。5 动态从键盘输入20个二位无符号数,找出其中最大数并显示。6 动态从键盘输入20个二位无符号数,从小到大排序并显示。7 设数据区有两个字节串,串1的长度为5,串2的长度为10。编程: 若串2的最后5个字符和串1相同,则置FLAG单元为“Y”,否则置为“N”。8 编写打印如下图形程序01 02 1 03 2 1 04 3 2 1 05 4 3 2 1 06 5 4 3 2 1 07 6 5 4 3 2 1 08 7 6 5 4 3 2 1 09

25、8 7 6 5 4 3 2 1 0实验七 子程序设计一、实验目的 1掌握子程序的定义和调用及参数传递的方法。 2 掌握子程序、子程序的嵌套、递归子程序的结构。 3 掌握子程序的设计、编制及调试。 二、实验内容 1 对缓冲区中的一组字符的ASCII码加偶校验。要求画出流程图,编写程序。算法分析:每个字符的ASCII码为7位,占一个字节,其最高位为校验位。偶校验的含义为:校验位与7位字符位中的1的个数之和为偶数,这可用于字符正确与否的校验。例如:字符为,其中1的个数为5,那么校验位填1,这样1的个数为6,即为偶校验。偶校验位的填入可作为子程序来设计,缓冲区的首址一般由主程序提供,可假设缓冲区中的字

26、符个数由缓冲区中的第一个字节给出。2 用子程序调用实现在屏幕上显示10行相同的字符,要求显示字符串功能用子程序调用方法实现。3 试编制计算N! (N0)的程序。N!=N*(N-1)*(N-2)*1,其递归定义如下: 0!=1, N!=N*(N-1)! (N1)4 用子程序结构编写程序:从键盘输入一个二位十进制数的月份数(0112),然后显示相应的英文缩写名。5. 编写一个子程序嵌套结构的程序模块,分别从键盘输入姓名及8个字符的电话号码,并以一定的格式显示出来。具体要求:主程序TELIST中包括以下功能(1) 显示提示符INPUT_NAME:;(2) 调用子程序INPUT_NAME输入姓名;(3

27、) 显示提示符INPUT TELEPHONE NUMBER:;(4) 调用子程序INPHONE输入电话号码;(5) 调用子程序PRINTLINE显示姓名及电话号码。子程序INPUT_NAME中包括以下功能(1) 调用键盘输入子程序GETCHAR,把输入的姓名存放在INBUF缓冲区;(2) 把INBUF中的姓名移入输出行OUTNAME。子程序INPHONE中以下功能(1) 调用键盘输入子程序GETCHAR,把输入的8位号码存放在INBUF缓冲区;(2) 把INBUF中的号码移入输出行OUTNAME。子程序PRINTLINE中以下功能显示姓名及电话号码,格式为:NAME TEL实验八 显示程序设计

28、一、实验目的 1 掌握软件延时程序的编写方法。 2 熟悉系统功能调用的方法。 3 掌握宏定义与宏调用的方法。 二、实验内容 1 编写在屏幕上每隔一秒连续显示字符09的程序。 编程提示: 为了使输出的字符之间有空格,在每一个循环中输出一个09的字符和一个空格。为了输出09,置寄存器BL初值为0,每循环一次使其增量。为了保证输出是十进制,增量后用DAA调整指令。由于输出为一位十进制数,用AND 0FH指令屏蔽高4位。 2 用系统功能调用将HELLO由键盘输入,再从屏幕输出*HELLO*。3 编程实现:每隔5.5S从键盘读一个字符,并将字符的ASCII码存入缓冲区,共读50个字符,利用INT 16H

29、的0功能读取字符,返回值在AL中。4 利用自编中断INT 60H 实现在屏幕上显示10行相同字符。显示功能用INT 60H实现。实验九综合实验一、 实验题目:显示学生名次表二、 实验目的:进行汇编语言程序设计应用的综合性训练。综合运用汇编语言循环程序和子程序编程方法,巩固提高汇编语言程序设计能力应用水平。三、 实验内容 实验内容: 编制一程序,要求接收从键盘输入的一个班的学生的学号、姓名、成绩,对学生的成绩进行排序,最后把学号、姓名、学生成绩、名次显示出来。 实验要求:1.必须画流程图。2.本程序涉及汇编语言的多重循环、子程序及宏,其中 成绩输入、计算学生名次、显示学生名次都分别用子程序,也可

30、用宏处理。3.要求用菜单选择。具体要求:输入1是数据录入并输出(包括姓名、学号、成绩);输入2是排序后的数据输出(包括姓名、学号、成绩、名次);输入3是可以按学号查找某学生,并输出其成绩,选择修改或不改成绩四、 考核标准:1 程序算法设计正确,流程图准确规范2 源程序结构合理、注释清晰、可读性好3 实验运行结果正确,达到实验要求4 实验报告格式规范、内容充实、文字流畅5 实验分析有自己的见解、有思考、有结论模拟试题(一)1有一16个字的数据区,它的起始地址为1234:5678H,问这个数据区首、末字单元的物理地址是( )。 首字单元的物理地址为68ACH,末字单元的物理地址为690EH。 首字

31、单元的物理地址为68ACH,末字单元的物理地址为6910H。 首字单元的物理地址为179B8H,末字单元的物理地址为17A1CH。 首字单元的物理地址为179D8H,末字单元的物理地址为179F6H。 2 把十进制数100 转换为8位的二进制数和十六进制数,正确的一组值为( )。 B,64H B,5BH B,5BH B,64H3在机器数中,( )对零的表示形式是唯一的。 补码 原码 反码 没有正确答案 4下列哪条指令的源操作数的寻址方式是寄存器间接寻址( )。 SUB AX,BX MOV AX,20H MOV BYTE PTR DA11,30 ADD CX,SIBX5 如果显示一个字符到屏幕上

32、,需调用DOS INT 21H的( )号功能。1H 2H 9H 10H6完成和指令XCHG AX,BX相同功能的指令或指令序列是( )。 MOV AX,BX MOV BX,AX PUSH AXPUSH BX POP AX POP BX MOV CL,AL MOV AL,BL MOV BL,CL 78086中指令队列的长度为 ( ) 字节。 4个 6个 8个 16个8下面哪个寄存器中的值表示下一条要执行指令的地址 ( )。 AX IP BP SP 9堆栈的工作方式是( )。先进先出 可以根据地址选择存取先进后出 随机存取10在汇编语言程序中,对END语句的叙述正确的是( )。 END语句表示源程

33、序汇编到此结束 END语句表示程序执行到此结束END语句是一可执行语句 END语句在汇编后要产生机器码二、简答题1设某并行打印机的状态端口是379H,其D7位是忙/闲位,若D70表示忙,为1表示闲,测试该打印机当前状态,若忙继续测试,否则顺序执行下一条指令。写出指令代码段。2CPU和外设传送信息的方式主要有哪几种?3PC/XT机采用向量中断方式处理级外中断,中断号依次为08H0FH。在RAM 0:2CH单元开始依次存放23H,FFH,00H和F0H四个字节,问该向量对应的中断号和中断程序入口是多少。?4. AND指令和TEST指令 在执行时有什么区别? 三、程序分析题1 A1DW 3344H

34、B1 DW5566H PUSH A1 PUSH B1 POP A1 POP B1 试回答:上述程序段执行后(A1),(B1) 设执行前SP3000H,执行POP A1 后SP 2现有下列程序段 MOV CL,3MOV BX,0B7HROL BX,1ROR BX,CL试问上述程序段运行后, (BX) 3写出下面程序段完成的功能。MOV CX ,100 MOV AX ,0SUM1:ADD AX ,CX LOOP SUM1 MOV SUM , AX4程序段如下: TAB DW 30,40,50,48,70NUM DW 5: MOV BX,OFFSET TAB ADD BX, NUMMOV AX,BX

35、 请回答程序段运行后:(AX)5. 分析下面程序段完成什么功能? LEASI, buffer1 LEADI, buffer2+5 MOVCX,200 CLD REPMOVSB 6 设无符号数X在AL中,用移位指令实现18X的运算,请在空白处写出相应指令MOV AH,0 SHL,AX,1MOV BX,AX ; MOV CL, ADD AX,BX四、编程题 1、已知有一10个数的字形数组(23,40,50,10,40,60,-20,33,-55,12),编写求数组中最大值并存入MAX字单元的程序(不要求输入和输出)。2.在屏幕上显示10行字符串MY GOD!,要求用子程序实现显示功能。模拟试题(二

36、)一、单选题1当一个带符号数大于FFH时程序转移,满足条件的是_。A. 正数和零 B. 负数 C. 负数和零 D. 大于255的数 2. 将十进制数120转换成十六进制数的结果是_。 A7DH B. 78H C. 7EH D. 7BH3. 7CH 转换成十进制数是_。A 118 B. 124 C. 48 D. 684. 执行指令POP CX后堆栈指针SP自动_。A2 B. +1 C. 1 D. +25. 在标志寄存器中表示进位的是_。A AF B. CF C. SF D. OF6. 在汇编程序中,能够翻译成二进制代码的指令是_。A 汇编指令 B.伪指令 C. 机器指令 D. 宏指令7. 在计算

37、机中如果地址线为20根,则它的寻址空间为_。A 1 M B. 8 M C. 16 M D. 32 M8. 设物理地址(10FF0H)=20H,(10FF1H)=30H,(10FF2H)=40H,则地址10FF1H中取出一个字的内容是_。A 1020H B. 2010H C. 2030H D. 4030H9. 表示下一条要执行的指令地址的寄存器是_。A BP B. SP C. IP D. DS 10. 在8086标志寄存器中,ZF=1表示_。A 结果有进位 B. 结果为0 C. 结果溢出 D. 结果为负 11. 在多重循环程序中,从外循环再次进入内循环时,内循环的计数值_。A不必考虑 B. 重新

38、赋值 C. 置0 D. 置112. 将字符串“INPUT”保存到存储单元MESS,正确的伪指令是_。AINPUT DB MESS B. MESS DB “INPUT” C. INPUT DB “MESS” D. MESS DB INPUT 13. X已经定义为字节型,可以用_改变为字型。AOFFSET X B. LABEL XC. TYPE X D. WORD PTR X14. ABC DW 20,30,$+2,7,其中$代表的值为_。A1 B. 3 C. 4 D. 515. 如果想让程序从100H开始存放及执行,用指令_。ASTART equ 100H B. ORG 100H C. END START D. MOV START,100h16. 汇编语言中存储单元属性不能是_。A. 字符CHAR型 B字节型 C. 字型 D. 双字型17. 用指令MOVBX,SEGCOUNT指令,可以得到存储单元COUNT的_。A物理地址 B. 段地址 C. 偏移地址 D. 属

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁