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

正文內(nèi)容

[理學(xué)]第4章_匯編程序-閱讀頁

2024-10-31 21:23本頁面
  

【正文】 0 INC BX LOOP ADD1 MOV [ BX] , AX 恢復(fù)現(xiàn)場(chǎng) POPF POP CX POP BX POP AX POP BP 返回主程序 RET 4 調(diào)用子程序 CALL SUM 存放參數(shù) MOV AX, LEN2 PUSH AX LEA AX, ARY2 PUSH AX 調(diào)用子程序 CALL SUM 用堆棧段 傳遞參數(shù) ? DATA SEGMENT ? ARY1 DB 03H , 07H , 50H , 06H , 23H , ? 45H , 0F6H , 0DFH ? LEN1 EQU $ ARY1 ? SUM1 DW ? ? ARY2 DB 33H , 44H , 55H , 12H , 78H , ? 89H , 0FFH , 0CDH ? LEN2 EQU $ ARY2 ? SUM2 DW ? ? DATA ENDS ? STACK SEGMENT STACK ’ STACK ’ ? DB 100 DUP ( ‘ S ‘ ) ? STACK ENDS ? CODE SEGMENT PARA ‘ CODE ’ ? ASSUME CS : CODE , DS : DATA , ? SS : STACK ? STA PROC FAR ? PUSH DS ? XOR AX , AX ? PUSH AX MOV AX , DATA MOV DS , AX MOV AX ,STACK MOV SS , AX MOV AX , LEN1 PUSH AX LEA AX , ARY1 PUSH AX CALL SUM MOV AX, LEN2 PUSH AX LEA AX, ARY2 PUSH AX CALL SUM RET STA ENDP Flash ? SUM PROC ? PUSH BP ? MOV BP, SP ? PUSH AX ? PUSH BX ? PUSH CX ? PUSHF ? MOV CX,[ BP+6] ? MOV BX,[ BP+4] ? XOR AX, AX ADD1: ADD AL, [BX] ADC AH, 0 INC BX LOOP ADD1 MOV [ BX] , AX POPF POP CX POP BX POP AX POP BP RET 4 SUM ENDP CODE ENDS END STA Flash 子程序應(yīng)用舉例 例 將一個(gè)給定的二進(jìn)制數(shù)按位轉(zhuǎn)換成相應(yīng)的ASCII碼字符串 , 送到指定的存儲(chǔ)單元并顯示 。 要求將轉(zhuǎn)換過程寫成子程序 , 且子程序應(yīng)具有較好的通用性 , 而必須能實(shí)現(xiàn)對(duì) 8位和 16位二進(jìn)制數(shù)的轉(zhuǎn)換 。轉(zhuǎn)換二進(jìn)制數(shù)送 DX MOV CX,8 。字符串首址 → DI CALL BTASC 。$39。顯示轉(zhuǎn)換后的字符串 MOV AH,9 INT 21H MOV DX,NUM16 MOV CX,16 。$39。顯示轉(zhuǎn)換后的字符串 LEA DX, ASCBUF MOV AH,9 INT 21H MOV AH,4CH INT 21H BTASC PROC PUSH AX 。比較 8位數(shù) JNE L1 。8位數(shù)轉(zhuǎn)換送 DH L1: MOV AL,0 ROL DX,1 。CF移入 AL最低位 ADD AL,30H MOV [DI],AL INC DI LOOP L1 POP AX RET BTASC ENDP CODE ENDS END START 返回本節(jié) 運(yùn)行匯編語言源程序 一、運(yùn)行匯編語言源程序的步驟 1) 編輯源程序,調(diào)用編輯程序 (edit)建立一個(gè)擴(kuò)展名為 .asm的源程序文件; 2) 匯編源程序。 5) 運(yùn)行可執(zhí)行文件 ; 輔助工具程序( .EXE) 進(jìn)行匯編語言程序調(diào)試有: 動(dòng)態(tài)調(diào)試程序 交叉引用程序 TD( turbo Debugger簡(jiǎn)稱)也是動(dòng)態(tài)調(diào)試程序,可在 DOS和 Windows環(huán)境下運(yùn)行,用戶界面十分友好。為此,需鍵入: C:MASM 源文件名 屏幕上顯示: Microsoft(R) Macro assemble Version Copyright(C) Microsoft Corp 19811985,1987 ALL rights reserved OBJ filename[file.obj]: Source listing[]: Crossreference[]: 匯編后生成以下幾個(gè)文件: ( 1) .OBJ文件 .OBJ文件是目標(biāo)代碼文件,當(dāng)源程序中無語法錯(cuò)誤時(shí),則在當(dāng)前工作盤上自動(dòng)存入一個(gè) .OBJ文件,供下一步連接用。 ( 2) .LST文件(列表文件) .LST文件對(duì)調(diào)試程序有幫助,它是將源程序中各語句及其對(duì)應(yīng)的目標(biāo)代碼和符號(hào)表以清單方式列出 ( 3) .CRF文件(交叉引用文件) .CRF文件給出了源程序中定義的符號(hào)引用情況,按字母順序排列。 三、 連接目標(biāo)程序 匯編后生成的 .OBJ文件,其所有目標(biāo)代碼的地址都是浮動(dòng)的偏移地址,機(jī)器不能直接運(yùn)行。 在系統(tǒng)提示符下鍵入: LINK 源程序文件名 屏幕上出現(xiàn)以下提示信息: Microsoft(R) Macro assemble Version Copyright(C) Microsoft Corp 19811985,1987 ALL rights reserved Run file [file.EXE]: List File []: Libraries [.lib]: LINK file。 連接后,可生成兩種文件: .EXE和 .MAP ( 1) .EXE文件(可執(zhí)行文件) 若連接過程中無錯(cuò)誤,則自動(dòng)在當(dāng)前工作盤生成 .EXE文件。 ( 2) .MAP(連接映像文件) ( 3) .LIB庫文件 連接程序詢問是否使用某種庫文件,不需使用庫文件直接按回車鍵。如: LINK files1+files2+files3 如: LINK file。 啟動(dòng) DEBUG程序 167。 ②在 DOS提示符下鍵入: DEBUG [路徑\ ]文件名 ↙ DEBUG執(zhí)行,并將指定文件裝入內(nèi)存,供調(diào)試。 2 DEBUG命令和參數(shù)的格式 命令字母 [參數(shù) ] ? 字母不分大小寫; ?只使用 16進(jìn)制數(shù),不加 H; ?分割符只在兩個(gè)數(shù)值之間是必須的,命令和參數(shù)之間可有可無; ?鍵入回車鍵執(zhí)行命令, Ctrl+Break或 Ctrl+C中止命令的執(zhí)行; ?如命令不符合 DEBUG的規(guī)則,則提示 “ error”并使用 “ ^ ” 指示錯(cuò)誤位置。 ?既不送段地址,也不送偏移地址,段地址采用默認(rèn)的段寄存器,偏移地址采用當(dāng)前值。 如 DDS: 或 D0400: 參數(shù)格式 1 ①表示地址 (邏輯地址 ): ?段地址 :偏移地址 D0400:2500 D10ac:0 Dds:04 Dcs:100 ?偏移地址 D2505 D100 ; DEBUG認(rèn)為輸入的是偏移地址,段地址采用默認(rèn)的段寄存器,不同的命令默認(rèn)不同的段寄存器,例如匯編命令默認(rèn) CS,顯示數(shù)據(jù)命令默認(rèn) DS。 ?只送段地址,省略偏移地址,非法。 D ① D [地址 ] ② D [范圍 ] ;如不指定范圍,一次顯示 8行 16個(gè)字節(jié)。 DEBUG首先顯示指定單元內(nèi)容,如要修改,可輸入新數(shù)據(jù);空格鍵顯示下一個(gè)單元內(nèi)容并可修改,減號(hào)鍵顯示上一個(gè)單元內(nèi)容并可修改;如不修改,可直接按空格鍵或減號(hào)鍵;回車鍵結(jié)束命令。 - E DS:100 F3 ?AB? 8D。 - F DS:0 L5 01,02,03,04,05 - F DS:0 L5 01 02 03 04 05(空格分隔) - F DS:0 L5 FF ; 5個(gè)字節(jié)重復(fù)使用 FF 注意和 E命令的區(qū)別: E 地址 數(shù)據(jù)表 起始地址,不是范圍 R命令 R ① R;★顯示所有寄存器和標(biāo)志位狀態(tài); ★顯示當(dāng)前 CS: IP指向的指令。 RAX ; RIP; RF等 A A [地址 ];從指定的地址開始輸入符號(hào)指令;如省略地址,則接著上一個(gè) A命令的最后一個(gè)單元開始;若第一次使用 A命令省略地址,則從當(dāng)前 CS:IP開始(通常是 CS: 100)。 ②每條指令后要按回車。 ④支持所有 8086符號(hào)硬指令,偽指令只支持 DB、DW,不支持各類符號(hào)名。 ② U 范圍;對(duì)指定范圍的單元進(jìn)行反匯編。 ② G=地址;從指定地址開始執(zhí)行程序,直到程序結(jié)束或遇到 INT 3。 ④ G=地址 斷點(diǎn) 1[,斷點(diǎn) 2, … 斷點(diǎn) 10] - G ;從 CS:IP指向的指令開始執(zhí)行程序。 - G=100 105 110 120 G命令 2 注 釋: 1)最多可設(shè)置 10個(gè)斷點(diǎn)。 3)如設(shè)置了多個(gè)斷點(diǎn),程序在第一個(gè)斷點(diǎn)停下 后,顯示寄存器、標(biāo)志及下一條要執(zhí)行的指令,再次 輸入 G命令,程序繼續(xù)往下執(zhí)行,直到下一個(gè)斷點(diǎn)或 程序結(jié)束。 T命令 (單步執(zhí)行命令) T ① T;從當(dāng)前 IP開始執(zhí)行一條指令。 ② T =地址; ③ T =地址 數(shù)值; - T - T5 / - T=100 5 必須用分割符 P、 Q命令 P P [=地址 ] [數(shù)值 ];類似 T命令,但跳過子程序 和中斷服務(wù)程序。 - Q N命令 N N 文件標(biāo)示符;指定文件,以便用 W命令在磁盤 上生成該文件,或者用 L命令從磁盤裝入該文件。 讀盤:在當(dāng)前盤當(dāng)前目錄讀取指定文件。 - N - L ② L 地址 驅(qū)動(dòng)器號(hào) 扇區(qū)號(hào) 扇區(qū)數(shù);將某驅(qū)動(dòng) 器的若干扇區(qū)(最多 80H個(gè))裝入內(nèi)存; 0=A, 1=B, 2=C…… ;默認(rèn)的段地址為 CS。 - N - W ② W 地址 驅(qū)動(dòng)器號(hào) 扇區(qū)號(hào) 扇區(qū)數(shù);將內(nèi)存數(shù) 據(jù)寫入磁盤的若干扇區(qū)(最多 80H);默認(rèn)的段地址 為 CS。 其他命令 1 * 比較命令 C C 范圍 地址;將指定范圍內(nèi)的內(nèi)容與以指定 地址為起點(diǎn)的內(nèi)容相比較。 * 查找命令 S S 范圍 數(shù)據(jù);在指定范圍內(nèi)查找指定數(shù)據(jù)。 * 輸出命令 O O 端口地址 字節(jié)數(shù)據(jù);輸出到指定的端口。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1