freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]新編匯編程序設(shè)計(jì)課后答案-資料下載頁(yè)

2025-01-08 23:54本頁(yè)面
  

【正文】 mov ds,ax mov es,ax mov di,offset array mov al,64h mov cx,100 cld rep stosb mov ax,4c00h int 21h code ends end start 〔習(xí)題 〕編制程序完成兩個(gè)已知雙精度數(shù)( 4字節(jié)) A 和 B 相加并將結(jié)果存入雙精度變量單元 SUM中(不考慮溢出)。 〔解答〕 ; .model small .stack 256 ;定義堆棧段大小為 256個(gè)字節(jié) .data A dd 11223344h ;定 義兩個(gè)雙字的數(shù)(隨意) B dd 77553311h sum dd ? ;定義結(jié)果,執(zhí)行后為:88776655h .code .startup xor si, si ;相對(duì)于變量的位移量清零 mov cx, 2 ;分高低字分別相加,共兩次 clc ;清零 cf again: mov ax, word ptr A[si] ;取第一個(gè)數(shù)的一個(gè)字(先低字后高字) adc ax, word ptr B[si] ;取第二個(gè)數(shù)的一個(gè)字(先低字后高字) mov word ptr sum[si], ax ;存和的一個(gè)字(先低字后高字) inc si ;修改位移量指向下一個(gè)字(加 2) inc si loop again ; cx=cx1 ,if cx0 ,jump again .exit 0 end 〔習(xí)題 〕編制程序完成 12H、 45H、 0F3H、 6AH、 20H、 0FEH、 90H、0C8H、 57H和 34H等 10個(gè)字節(jié)數(shù)據(jù)之和,并將結(jié)果存入字節(jié)變量 SUM中(不考慮溢出)。 〔解答〕 .startup xor si, si ;位移量清零 mov al, bdata[si] ;取第一個(gè)數(shù) mov cx, num1 ;累加次數(shù) again: inc si ;指向下一個(gè)數(shù) adc al, bdata[si] ;累加 loop again ;如未完,繼續(xù)累加 mov sum, al ;完了,存結(jié)果 .exit 0 end 〔習(xí)題 〕結(jié)構(gòu)數(shù)據(jù)類型如何說(shuō)明、結(jié)構(gòu)變量如何定義、結(jié)構(gòu)字段如何引用? 〔解答〕 結(jié)構(gòu)類型的說(shuō)明使用一對(duì)偽指令 STRUCT( 是 STRUC,功能相同)和 ENDS。它們的格式為: 結(jié)構(gòu)名 STRUCT ? 。數(shù)據(jù)定義語(yǔ)句 結(jié)構(gòu)名 ENDS 結(jié)構(gòu)變量定義的格式為: 變量名,結(jié)構(gòu)名 〈字段初值表〉 引用結(jié)構(gòu)字段,采用圓點(diǎn)“ .”操作符,其格式是: 結(jié)構(gòu)變量名 .結(jié)構(gòu)字段名。 〔習(xí)題 〕記錄數(shù)據(jù)類型如何說(shuō)明,記錄變量如何定 義, width和mask操作符是什么作用? 〔解答〕 記錄類型的說(shuō)明采用偽指令 RECORD,它的格式為: 記錄名 RECORD 位段 [,位段? ] 定義記錄變量的格式: 記錄變量名 記錄名 〈段初值表〉 Width記錄名 /記錄位段名操作符返回記錄或記錄位段所占用的位數(shù)。 mask記錄位段名操作符返回一個(gè) 8位或 16位數(shù)值,其中對(duì)應(yīng)該位段的個(gè)位為 1,其余位為 0。 第 4 章 基本匯編語(yǔ)言程序設(shè)計(jì) 〔習(xí)題 〕例題 8 位,如何修改程序。 〔解答〕 思路:首先由最高位字節(jié)向次低位字節(jié)傳送?? 次低位字節(jié)向最低位字節(jié)傳送(共 7次);再判最高位字節(jié)符號(hào)位,如為 0,送 00h到最高位字節(jié);如為 1,送 ffh到最高位字節(jié)。傳送可參考例題 ,不過(guò)應(yīng)從第一號(hào)字節(jié)送第零號(hào)字節(jié),??最高位字節(jié)向次低位字節(jié)傳送;也可以用循環(huán)來(lái)完成: .model small .stack 256 .data qvar dq 1234567887654321h .code .startup mov cx,7 mov si,1 again: mov al, byte ptr qvar[si] mov byte ptr qvar[si1],al inc si loop again test al,80h jz ezz mov bl,0ffh jmp done ezz: mov bl,0 done: mov byte ptr qvar[7],bl .exit 0 end 〔習(xí)題 〕例題 如果要求算術(shù)左移 7 位,如何用移位指令實(shí)現(xiàn)。 〔解答〕 思路:可設(shè)計(jì)外循環(huán)體為 8個(gè)字節(jié)左移一次,方法是:最低位字節(jié)算術(shù)左移一次, 次低位字節(jié)至最高位字節(jié)依次帶 CF 位循環(huán)左移一次(內(nèi)循環(huán)共 8次),外循環(huán)體控制執(zhí)行 7次即可。 .model small .stack 256 .data qvar dq 1234567887654321h .code .startup mov dx, 7 ;外循環(huán)次數(shù) mov ax, byte ptr qvar[0] ;最低位字節(jié)送 ax lpp: shl ax, 1 ;最低位字節(jié)左移一次,其 d7移入 CF位 mov si, 1 mov cx, 7 ;內(nèi)循環(huán)次數(shù) again: rcl byte ptr qvar[si], 1 ;高位字節(jié)依次左移 P50 inc si loop again dec dx jnz lpp .exit 0 .end 〔習(xí)題 〕將 AX寄存器中的 16位數(shù)連續(xù) 4 位分成一組,共 4 組,然后把這 4 組數(shù)分別放在 AL、 BL、 CL和 DL寄存器 中。 〔解答〕 思路:設(shè)這四組從低位到高位分別放在 AL、 BL、 CL和 DL寄存器中。僅列出代碼段: mov bl, al ;將 al中的兩組分開(kāi) and al, 0fh ;屏蔽高四位后送 al mov cl, 4 ;原 al中的數(shù)據(jù)邏輯右移 4次送 bl shr bl, cl mov dl, ah ;將 ah中的兩組分開(kāi) and dl, 0f0h ;屏蔽低高四位后送 dl mov cl, 4 ;原 ah中的數(shù)據(jù)邏輯右移 4次送 dl shr dl, cl mov cl, ah ;屏蔽高四位后送 cl and cl, 0fh 〔習(xí)題 〕編寫(xiě)一個(gè)程序,把從鍵盤(pán)輸入的一個(gè)小寫(xiě)字母用大寫(xiě)字母顯示出來(lái)。 〔解答〕 getkey: mov ah, 1 ;從鍵盤(pán)輸入,出口 :al存鍵值 int 21h cmp al, 39。a39。 ;判鍵值是小寫(xiě)字母? jb getkay cmp al, 39。z39。 ja getkay sub al,20h ;是小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母 mov dl,al mov ah, 02h ;顯示 int 21h 〔習(xí)題 〕已知用于 LED數(shù)碼管顯示的代碼表為: LEDtable DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h DB 80h,90h,88h,83h,0c6h,0c1h,86h,8eh 它依次表示 0 ~ A ~ F 這 16個(gè)數(shù)碼的顯示代碼。現(xiàn)編寫(xiě)一個(gè)程序?qū)崿F(xiàn)將 lednum中的一個(gè)數(shù)字( 0 ~ A ~ F)轉(zhuǎn) 換成對(duì)應(yīng)的 LED顯示代碼。 〔解答〕 .model small .stack 256 .data LEDtable DB 0c0h, 0f9h, 0a4h,0b0h,99h,92h, 82h, 0f8h DB 80h, 90h, 88h, 83h, 0c6h, 0clh、 86h,8eh lednum DB ? .code .startup mov bx, offset LEDtable mov al, lednum xlat ; al中存有對(duì)應(yīng)的 LED顯示代碼 .exit 0 end 〔習(xí)題 〕請(qǐng)問(wèn)第 2 章例題 / / / 的分支是單分支、雙分支或多分支結(jié)構(gòu)? 〔解答〕 例題 / 為單分支結(jié)構(gòu); 。 〔習(xí)題 〕分析第 2 章例題 構(gòu),畫(huà)出流程圖。 〔解答〕 〔習(xí)題 〕如果在例題 table 中依次填入 msg1 ~ msg8,程序應(yīng)該怎樣修改? 〔解答〕 ( 1) 將 jmp table[bx]指令改為: mov dx, table[bx] ( 2) 去掉源程序中: .exit 0end 之間的語(yǔ)句 〔習(xí)題 〕編制一個(gè)程序,把變量 bufX 和 bufY中較大者存入 bufZ;若兩者相等,則把其中之一存入 bufZ 中。假設(shè)變量存放的是 8 位無(wú)符號(hào)數(shù)。 〔解答〕 .model small .stack 256 .data bufx db ? bufY db ? bufz db ? .code .startup mov al, bufX mov bl, bufY cmp al,bl ja next mov bufZ, bl jmp done next: mov bufZ, al done: .exit 0 end 〔習(xí)題 〕設(shè)變量 bufX 為有符號(hào) 16 位數(shù),請(qǐng)將它的符號(hào)狀態(tài)保存在 signX,即:如果 X 大于等于 0,保存 0;如果 X 小于 0,保存 1( ffh)。編寫(xiě)該程序。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1