资源描述:
《习地的题目集—04程序设计answers》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案1.指令语句有哪几部分组成?伪指令语句有哪几部分组成?【参考答案】指令语句:[标号:]助记符[操作数][;注释]伪指令语句:[名字]定义符[操作数][;注释]2.什么是指令语句?什么是伪指令语句?它们之间有什么区别?【参考答案】指令语句:与机器代码一一对应,一条指令语句对应机器的一种操作,汇编时产生一组目标代码。伪指令语句:没有对应的机器代码,它只为汇编程序提供汇编时所产生的信息。3.什么是标号和名字?它们之间有什么区别?【参考答案】标号:是某条指令所在单元的符号地址,必须后跟冒号“:”,它是可供选择的标
2、识符。一个标号可以作为JMP指令或CALL指令的一个操作数。名字:是给某伪指令取的名称,它不能后跟冒号“:”,它可以是变量名、段名、过程名、符号名等。标号/名字应符合以下规定:由字母、数字或某些特殊字符(?·@-$)等组成;不能用数字开头。第一个字符必须是字母或某些特殊字符(?号不能单独使用,“·”号必须放在开头,不能放在其它位置);有效长度为31个字符;保留字(关键字)不能作标识符。4.什么是助记符?【参考答案】助记符:是指令的操作码,规定某指令语句的操作类型。5.在MASM86中,什么是定义符?【参考答案】定义符
3、:是由MASM-86规定的符号,是种汇编命令,规定变个伪指令的伪操作功能给程序员编写汇编语言源程序提供方便。6.指令语句的操作数与伪指令语句的操作数各有什么特点?【参考答案】指令语句的操作数的个数:0个,1个,2个等;最大不超过两个,操作数之间必须用逗号“,”分隔;有的操作数可以用表达式来表示。伪指令语句的操作数的个数:随不同的伪指令而相差悬殊;有的伪指令不允许有操作数;有的允许带多个操作数,其间用逗号“,”分隔;有的操作数也可用表达式表示。7.变量名是用来表示操作数所在存储器单元地址的符号,它有哪几个属性?在编程使
4、用时应注意什么?【参考答案】属性:段属性(SEGMENT)、偏移地址属性(OFFSET)、类型属性(TYPE)精彩文档实用标准文案类型属性:字节(BYTE)、字(WORD)、双字(DWORD)、四字(DQ)、五字(DT)注意:在程序中变量名的定义只允许出现一次。1.标号是某条指令所在单元的符号地址,它表明该指令在存储器中的位置,可以作为转移指令和调用指令的目的操作数。它有哪几个属性?【参考答案】段属性:段基址总是在代码段寄存器CS中。偏移属性:16位无符号数。代表从段起始地址到定义标号的位置之间的偏移量。距离属性:N
5、EAR或FAR。NEAR:只需改变IP值,不改变CS值。默认属性。FAR:改变IP和CS的值。2.伪指令EQU的功能是什么?使用时有哪些注意事项?【参考答案】功能:可以把符号名字定义为一个常量、一个表达式的值、其它符号名或保留字。注意:(1)EQU伪指令中如果有变量或标号的表达式,则它们应在该伪指令前已定义过的,否则汇编程序将指示出错。(2)经EQU伪指令定义的符号名在同一程序模块中不允许重新定义,否则必须用清除指令PURGE将原有符号名清除后,才能用EQU伪指令重新定义。3.伪指令“=”与“EQU”有什么异同点?【
6、参考答案】=与EQU具有相同的功能,区别仅在于用等号语句定义的符号名可以再定义。4.定义如下数据段,DATASEGMENTFIRSTDB66HSECONDDW–6,100HTHIRDDD5*20ONEDB‘ABC’,’OK’TWODW‘OK’ABDB0,?,?,0CDDW?,66H,?DATAENDS试画出这些变量代表的数据在内存的存储方式。【参考答案】精彩文档实用标准文案1.定义如下数据段,DATASEGMENTTAB1DB2DUP(0,1)TAB2DW2DUP(1110H,?)TABDB2DUP(0SDUP(1,
7、2),6)DATAENDS试将这三个变量展开成字节存放的形式。【参考答案】TAB1DB00,01,00,01,10,11,-,-,10,11,-,-TABDB00,01,02,01,02,06,00,01,02,01,02,062.假定标号ONE和TWO处于同一代码段内,CS=1000H,其偏移地址分别为0200H和0400H;变量A和B处于同一数据段内,DS=4000H,其偏移地址分别为0600H和0800H。试写出如下伪指令的结果。【参考答案】3.段定义伪指令有哪几种定位类型?【参考答案】PARA,BYTE,WO
8、RD,PAGE4.段定义伪指令有哪几种组合类型?【参考答案】NONE,PUBLIC,COMMON,AT,STACK,MEMORY.5.段定义伪指令有哪几种类别?【参考答案】代码段“CODE”;数据段“DATA”;堆栈段“STACK”。6.伪指令ASSUME使用时应注意哪些要点?【参考答案】ASSUME伪指令必须放在代码段的开始处,用来告诉汇编程