版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、匯編語(yǔ)言程序設(shè)計(jì)(第四版)第3章【課后答案】【精選文檔】 匯編語(yǔ)言程序設(shè)計(jì) 第四版 【課后習(xí)題答案】 -囮裑為檤 第3章 匯編語(yǔ)言程序格式習(xí)題3。1偽指令語(yǔ)句與硬指令語(yǔ)句的本質(zhì)區(qū)別是什么?偽指令有什么主要作用? 解答偽指令語(yǔ)句與硬指令語(yǔ)句的本質(zhì)區(qū)別是能不能產(chǎn)生CPU動(dòng)作;偽指令的作用是完成對(duì)如存儲(chǔ)模式、主存變量、子程序、宏及段定義等很多不產(chǎn)生CPU動(dòng)作的說(shuō)明,并在程序執(zhí)行前由匯編程序完成處理.習(xí)題3。2什么是標(biāo)識(shí)符,匯編程序中標(biāo)識(shí)符怎樣組成? 解答為了某種需要,每種程序語(yǔ)言都規(guī)定了在程序里如何描述名字,程序語(yǔ)言的名字通常被稱(chēng)為標(biāo)識(shí)符;匯編語(yǔ)言中的標(biāo)識(shí)符一般最多由31個(gè)字母、數(shù)字及規(guī)定的特殊符號(hào)
2、(如-,?,)組成,不能以數(shù)字開(kāi)頭。習(xí)題3。3 什么是保留字,匯編語(yǔ)言的保留字有哪些類(lèi)型,并舉例說(shuō)明。 解答保留字是在每種語(yǔ)言中規(guī)定了有特殊意義和功能的不允許再做其它用處的字符串;匯編語(yǔ)言的保留字主要有硬指令助記、偽指令助記符、運(yùn)算符、寄存器名以及預(yù)定義符號(hào)等。匯編語(yǔ)言對(duì)大小寫(xiě)不敏感.如定義字節(jié)數(shù)和字符串的DB就是偽指令助記符。習(xí)題3.4匯編語(yǔ)句有哪兩種,每個(gè)語(yǔ)句由哪4個(gè)部分組成? 解答匯編語(yǔ)句有執(zhí)行性語(yǔ)句和說(shuō)明性語(yǔ)句;執(zhí)行性語(yǔ)句由標(biāo)號(hào)、硬指令助記符、操作數(shù)和注釋四部分組成;說(shuō)明性語(yǔ)句由名字、偽指令助記符、參數(shù)和注釋四部分組成習(xí)題3.5匯編語(yǔ)言程序的開(kāi)發(fā)有哪4個(gè)步驟,分別利用什么程
3、序完成、產(chǎn)生什么輸出文件。 解答 編輯 文本編輯程序 匯編語(yǔ)言源程序.asm 匯編 匯編程序 目標(biāo)模塊文件.obj 連接 &
4、#160; 連接程序 可執(zhí)行文件。exe或.com 調(diào)試 調(diào)試程序 應(yīng)用程序習(xí)題3。6區(qū)分下列概念: (1)變量和標(biāo)號(hào)(2)數(shù)值表達(dá)式和地址表達(dá)式(3)符號(hào)常量和字符串常量解答(1)變量
5、是在程序運(yùn)行過(guò)程中,其值可以被改變的量;標(biāo)號(hào)是由用戶(hù)自定義的標(biāo)識(shí)符,指向存儲(chǔ)單元,表示其存儲(chǔ)內(nèi)容的邏輯地址.(2)數(shù)值表達(dá)式一般是由運(yùn)算符連接的各種常數(shù)所構(gòu)成的表達(dá)式,地址表達(dá)式是由名字、標(biāo)號(hào)以及利用各種的操作符形成的表達(dá)式.(3)在程序中,為了使常量更便于使用和閱讀,經(jīng)常將一些常量用常量定義語(yǔ)句定義為符號(hào)常量,被一對(duì)雙引號(hào)括起來(lái)的若干個(gè)字符組成的字符序列被稱(chēng)為字符串常量。習(xí)題3。7假設(shè)myword是一個(gè)字變量,mybyte1和mybyte2是兩個(gè)字節(jié)變量,指出下列語(yǔ)句中的錯(cuò)誤原因. (1) mov byte ptr bx,1000(2) mov bx,offset mywordsi(3) c
6、mp mybyte1,mybyte2(4) mov al,mybyte1+mybyte2(5) sub al,myword(6) jnz myword解答(1)1000超出了一個(gè)字節(jié)范圍(2)寄存器的值只有程序執(zhí)行時(shí)才能確定,而offset是匯編過(guò)程計(jì)算的偏移地址,故無(wú)法確定,改為lea bx,mywordsi(3)兩個(gè)都是存儲(chǔ)單元,指令不允許(4)變量值只有執(zhí)行時(shí)才確定,匯編過(guò)程不能計(jì)算(5)字節(jié)量AL與字量myword,類(lèi)型不匹配(6)Jcc指令只有相對(duì)尋址方式,不支持間接尋址方式習(xí)題3。8OPR1是一個(gè)常量,問(wèn)下列語(yǔ)句中兩個(gè)AND操作有什么區(qū)別?
7、160; AND AL,OPR1 AND 0feh解答前者為“與"操作硬指令助記符,可匯編成機(jī)器代碼。后者為邏輯運(yùn)算符,在匯編時(shí)進(jìn)行“與"運(yùn)算,產(chǎn)生具體數(shù)值。習(xí)題3。9給出下列語(yǔ)句中,指令立即數(shù)(數(shù)值表達(dá)式)的值: (1) mov al,23h AND 45h OR 67h(2) mov ax,1234h/16+10h(3) mov ax,NOT(65535 XOR 1234h)(4) mov al,LOW 1234h OR HIGH 5678h(5) mov ax,23h SHL 4(6) mov ax,1234h SHR 6(7) mov al,
8、a' AND (NOT('a-A)(8) mov al,'H OR 00100000b(9) mov ax,(76543 LT 32768) XOR 7654h解答注:對(duì)于邏輯運(yùn)算,有關(guān)操作數(shù)可化為二進(jìn)制數(shù)。(1)67h(2)133h(3)1234h(4)76h(5)0234h(6)0048h(7)41h(8)68h(9)7654h習(xí)題3。10畫(huà)圖說(shuō)明下列語(yǔ)句分配的存儲(chǔ)空間及初始化的數(shù)據(jù)值: (1) byte_var DB ABC,10,10h,EF,3 DUP(-1,?,3 DUP(4)(2) word_var DW 10h,5,EF',3 DUP(?)解答(
9、1)從低地址開(kāi)始,依次是(十六進(jìn)制表達(dá)):41 42 43 0a 10 45 46 ff 04 04 04 ff 04 04 04 ff 04 04 04(2)從低地址開(kāi)始,依次是(十六進(jìn)制表達(dá)):10 00 FB FF 46 45
10、0; 習(xí)題3。11請(qǐng)?jiān)O(shè)置一個(gè)數(shù)據(jù)段mydataseg,按照如下要求定義變量: (1) my1b為字符串變量:Personal Computer(2) my2b為用十進(jìn)制數(shù)表示的字節(jié)變量:20(3) my3b為用十六進(jìn)制數(shù)表示的字節(jié)變量:20(4) my4b為用二進(jìn)制數(shù)表示的字節(jié)變量:20(5) my5w為20個(gè)未賦值的字變量(6) my6c為100的常量(7) my7c表示字符串:Personal Computer解答mydataseg segmentmy1b db Personal Computer'my2b
11、160; db 20my3b db 14h ;20hmy4b db 00010100bmy5w dw 20 dup(?)my6c equ 100
12、 ;my6c = 100my7c equ <Personal Computermydataseg ends習(xí)題3.12分析例題3.2的數(shù)據(jù)段,并上機(jī)觀察數(shù)據(jù)的存儲(chǔ)形式。 解答以字節(jié)為單位從低地址向高地址依次是:1600 12FFH FFH FFH FFH00 00 00 00 00 00 00 001 2 3 4
13、160; 545H 23H 00 00 00 00 00 00 00 00a' b cH e' l' l' o 13 10 $12個(gè)字符串month,每個(gè)字符串從低地址到高地址依次是:m o n t h25×4個(gè)字節(jié)未定義初值的存儲(chǔ)單元,操作系統(tǒng)設(shè)置為0習(xí)題3。13修改例題3。3,現(xiàn)在用字定義
14、偽指令dw、字串傳送指令movsw和字符串顯示9號(hào)功能調(diào)用實(shí)現(xiàn)。 解答 。model small .stack .datasource dw 3433h,3635htarget
15、160; dw 40 dup(?),'$' 。code .startup mov ax,ds
16、 mov es,ax cld mov si,offset source mov di,offset target
17、0; mov cx,40 rep movsw mov si,0 mov dx,offset target mov ah,
18、9 int 21h 。exit 0 end習(xí)題3。14變量和標(biāo)號(hào)有什么屬性? 解答段地址:表示變量和標(biāo)號(hào)所在代碼段的段地址;偏移地址:表示變量和標(biāo)號(hào)所在代碼段的段內(nèi)偏移地址;類(lèi)型:引用變量時(shí),表示是字節(jié)、字、雙字等數(shù)據(jù)量。引用該標(biāo)號(hào)時(shí),表示
19、它所在同一個(gè)段near類(lèi)型,還是另外一個(gè)段far類(lèi)型.習(xí)題3。15設(shè)在某個(gè)程序中有如下片段,請(qǐng)寫(xiě)出每條傳送指令執(zhí)行后寄存器AX的內(nèi)容: mydata segment ORG 100HVARW DW 1234H,5678HVARB DB 3,4
20、 ALIGN 4VARD DD 12345678H EVENBUFF DB 10 DUP(?)MESS DB HELLO'
21、 BEGIN: MOV AX,OFFSET MESS MOV AX,TYPE BUFF+TYPE MESS+TYPE VARD MOV AX,SIZEOF VARW+SIZEOF BUFF+SIZEOF MESS
22、60; MOV AX,LENGTHOF VARW+LENGTHOF VARD MOV AX,LENGTHOF BUFF+SIZEOF VARW &
23、#160; MOV AX,TYPE BEGIN MOV AX, OFFSET BEGIN解答 MOV AX, OFFSET MESS
24、; ;AX116H MOV AX, TYPE BUFF+TYPE MESS+TYPE VARD ;AX = 1+1+4 = 06H &
25、#160; MOV AX,SIZEOF VARW+SIZEOF BUFF+SIZEOF MESS ;AX = 4+10+5 = 19 = 13H MOV AX,LENGTHOF VARW + LENGTHOF VARD ;AX = 2+1 = 03H &
26、#160; MOV AX,LENGTHOF BUFF + SIZEOF VARW ;AX = 10+4 =14 = 0EH MOV AX,TYPE BIGIN
27、; ;AX = FF02H (近) MOV AX,OFFSET BEGIN
28、; ;AX = 1BH 習(xí)題3。16利用簡(jiǎn)化段定義格式,必須具有.MODEL語(yǔ)句。MASM定義了
29、哪7種存儲(chǔ)模式,TINY和SMALL模式創(chuàng)建什么類(lèi)型(EXE或COM)程序?設(shè)計(jì)32位程序應(yīng)該采用什么模式? 解答MASM定義的7種存儲(chǔ)模式是TINY(微型模式、SMALL(小型模式)、COMPACT(緊湊模式)、MEDIUM(中型模式)、LARGE(大型模式)、HUGE(巨大模式)、FLAT(平展模式);TINY用于創(chuàng)建COM類(lèi)型程序、一般程序都可以選用SMALL模式;設(shè)計(jì)32位的程序應(yīng)該采用FLAT模式。習(xí)題3。17源程序中如何指明執(zhí)行的起始點(diǎn)?源程序應(yīng)該采用哪個(gè)DOS功能調(diào)用,實(shí)現(xiàn)程序返回DOS? 解答源程序中運(yùn)用STARTUP偽指令指明執(zhí)行的起始點(diǎn);源程序應(yīng)該采用DOS功能調(diào)用的4CH
30、子功能實(shí)現(xiàn)程序返回DOS的。習(xí)題3.18在SMALL存儲(chǔ)模式下,簡(jiǎn)化段定義格式的代碼段、數(shù)據(jù)段和堆棧段的缺省段名、定位、組合以及類(lèi)別屬性分別是什么? 解答段定義偽指令 段名 定位 組合 類(lèi)別 組名。CODE
31、; _TEXT WORD PUBLIC CODE' 。DATA _DATA WORD PUBLIC 'DATA' DGROUP。
32、DATA? _BSS WORD PUBLIC 'BSS DGROUP.STACK STACK PARA STACK 'STACK DGROUP習(xí)題3.19如何用指令代碼代替。startup和.exit指令,使得
33、例題3。1a能夠在MASM 5.x下匯編通過(guò)?解答;lt301a。asm(文件名).model small .stack .datastring db Hello,Everybody !,0dh,0ah. 。code start:
34、; mov ax ,data mov ds,ax mov dx,offset string mov ah,9 int 21h
35、160; mov ax ,4c00h int 21h end start 習(xí)題3.20創(chuàng)建一個(gè)COM程序完成例題3.1的功能。 解答;lt301a,asm 。model tiny
36、。code .startup mov dx,offset string mov ah,9 int 21h
37、160; .exit 0string db Hello,Everybody!'0dh,0ah,' ; end習(xí)題3.21按下面要求寫(xiě)一個(gè)簡(jiǎn)化段定義格式的源程序 (1) 定義常量num,其值為5;數(shù)據(jù)段中定義字?jǐn)?shù)組變量datalist,它的頭5個(gè)字單元中依次存放1、0、2、5和4,最后1個(gè)單元初值不定;(2) 代碼段中的程序?qū)atalist中頭num個(gè)數(shù)的累加和存入datalist的最后1個(gè)字單元中。解答
38、0; 。model small .stack .datanum equ 5datalist dw 1,0,2,5,4,?
39、 。code .startup mov bx,offset datalist mov cx,num
40、; xor ax,ax again: add ax,bx inc bx inc bx loop again
41、160; mov bx,ax 。exit 0 end習(xí)題3。22按下面要求寫(xiě)一個(gè)完整段定義格式的源程序 (1)數(shù)據(jù)段從雙字邊界開(kāi)始,其中定義一個(gè)100字節(jié)的數(shù)組,同時(shí)該段還作為附加段;(2)堆棧段從節(jié)邊界開(kāi)始,組合類(lèi)型為stack;(3)代碼段的類(lèi)別是code
42、39;,指定段寄存器對(duì)應(yīng)的邏輯段;主程序指定從100h開(kāi)始,給有關(guān)段寄存器賦初值;將數(shù)組元素全部設(shè)置為64h.解答stack segment para stack' dw 512 dup(?)stack endsdata segment array
43、; db 100 dup(?)data endscode segment codeassume cs:code,ds:data,es:data,ss:stack org 100hstart: mov ax,data &
44、#160; mov ds,ax mov es,ax mov di,offset array mov al,64h
45、60; mov cx,100 cld rep stosb mov ax,4c00h &
46、#160; int 21hcode ends end start習(xí)題3。23編制程序完成兩個(gè)已知雙精度數(shù)(4字節(jié))A和B相加并將結(jié)果存入雙精度變量單元SUM中(不考慮溢出). 解答;xt327。asm 。model
47、 small .stack 256 ;定義堆棧段大小為256個(gè)字節(jié) .data A dd 11223344h&
48、#160; ;定義兩個(gè)雙字的數(shù)(隨意) B dd 77553311h sum dd ? ;定義結(jié)果,執(zhí)行后為:88776655h
49、160; .code 。startup xor si, si ;相對(duì)于變量的位移量清
50、零 mov cx, 2 ;分高低字分別相加,共兩次 clc &
51、#160; ;清零cf again: mov ax, word ptr Asi ;取第一個(gè)數(shù)的一個(gè)字(先低字后高字) adc ax, word ptr Bsi ;取第二個(gè)數(shù)的一個(gè)字(先低字后高字)
52、0; mov word ptr sumsi, ax ;存和的一個(gè)字(先低字后高字) inc si ;修改位移量指向下一個(gè)字(加2) inc si loop again ;cx=cx-1 ,if cx0 ,jump again .exit 0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 寶石開(kāi)采的技術(shù)升級(jí)與產(chǎn)業(yè)轉(zhuǎn)型考核試卷
- 農(nóng)村資金互助社農(nóng)業(yè)保險(xiǎn)產(chǎn)品設(shè)計(jì)與推廣考核試卷
- 云母制品在平板電腦顯示材料中的應(yīng)用考核試卷
- 鋼包課程設(shè)計(jì)的書(shū)籍
- 2025年全球及中國(guó)熔融沉積成型 (FDM) 服務(wù)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 飲食營(yíng)養(yǎng)與衛(wèi)生課程設(shè)計(jì)
- 有氧健身操課程設(shè)計(jì)
- 彩色辣椒課程設(shè)計(jì)
- 高端母嬰養(yǎng)生館課程設(shè)計(jì)
- 橢圓 課程設(shè)計(jì)
- 2025年度私立學(xué)校教師聘用合同(初中部專(zhuān)業(yè)學(xué)科)3篇
- 2024年關(guān)愛(ài)留守兒童工作總結(jié)
- GB/T 45092-2024電解水制氫用電極性能測(cè)試與評(píng)價(jià)
- 《算術(shù)平方根》課件
- DB32T 4880-2024民用建筑碳排放計(jì)算標(biāo)準(zhǔn)
- 2024-2024年上海市高考英語(yǔ)試題及答案
- 注射泵管理規(guī)范及工作原理
- 山東省濟(jì)南市2023-2024學(xué)年高二上學(xué)期期末考試化學(xué)試題 附答案
- 大唐電廠采購(gòu)合同范例
- 國(guó)潮風(fēng)中國(guó)風(fēng)2025蛇年大吉蛇年模板
- GB/T 18724-2024印刷技術(shù)印刷品與印刷油墨耐各種試劑性的測(cè)定
評(píng)論
0/150
提交評(píng)論