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

正文內(nèi)容

匯編語言程序設(shè)計(參考版)

2025-02-20 18:02本頁面
  

【正文】 DOS 系統(tǒng)功能調(diào)用和 BIOS 的服務(wù)子程序,使得程序設(shè)計人員不必涉及硬件就可以使用系統(tǒng)的硬件,尤其是 I / O 的使用與管理 。 常用系統(tǒng)功能調(diào)用和 BIOS中斷調(diào)用 微型計算機系統(tǒng)( IBM PC 及兼容機)為匯編用戶提供了兩個程序接口,一個是 DOS 系統(tǒng)功能調(diào)用,另一個是 ROM中的 BIOS (Basic Input/Output System)。 對于多用戶程序中的過程,從高級語言中調(diào)用的過程或過程調(diào)用自身,應(yīng)該在棧中傳遞參數(shù)。選擇哪種方法很大程度上依賴于特定程序,沒有標準規(guī)則,不過有幾條建議。 scanf (“ %d ” ,ptr )。 return(f)。 } int c2f ( int c ) { int f。 printf ( “ The temperature in Celsius is %d \n” , temp )。 void main( ) { get_temp ( tempc )。 S e g m e n t r e g i s t e r : C S D S E S S SO f f s e t r e g i s t e r ( s ) : I P S I , D I , B X S I , D I , B X S P , B PO f f s e t R e g i s t e r s f o r V a r i o u s S e g m e n t s R A MF F F F F H0 0 0 0 0 HX X X X 0 HX X X X 0 HX X X X 0 HC o d e s e g m e n t6 4 kD a t as e g m e n t6 4 kS t a c ks e g m e n t6 4 kE x t r as e g m e n t6 4 k[ B X ][ S P ][ B X ]I PC P U[ S I ][ D I ][ B P ][ D I ][ S I ]A H A LB H B LC H C LD H D LB PS ID IS PF l a gI PC SD SS SE S* 1 0 H DATA SEGMENT BCD_IN DB 17H BIN_VAL DB ? DATA ENDS STACK SEGMENT DW 100 DUP (0) STACK ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA, SS: STACK START: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS, AX MOV AL, BCD_IN PUSH AX CALL BCD_BIN POP AX MOV BIN_VAL, AL NOP BCD_BIN PROC NEAR PUSHF PUSH AX PUSH BX PUSH CX PUSH BP MOV BP, SP MOV AX, [BP+12] B P HC LC HB LB HA LA HF LF HI P LI P HA H. . .S S * 1 0 H = 7 0 0 0 0 HB P 壓 棧 后 0 0 4 2 HA X 壓 棧 后 0 0 4 E HA X 壓 棧 前 0 0 5 0 HB P LA L棧 狀 態(tài) 圖 MOV BL, AL AND BL, 0FH AND AL, 0F0H MOV CL, 04 ROR AL, CL MOV BH, 0AH MUL BH ADD AL, BL MOV [BP+12], AL ; BP缺省段為 SS POP BP POP CX POP BX POP AX POPF RET BCD_BIN ENDP CODE ENDS END START ( d)用棧傳遞參數(shù)實例 include int tempc, tempf int c2f(int c)。 } DATA SEGMENT headcount DW 5 present DW OFFSET headcount DATA SEGMENT CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX MOV BX, present MOV AX, [BX] … CODE ENDS END START 4. 用棧傳遞參數(shù) 為了用棧傳遞參數(shù)到一過程,在主程序中的過程調(diào)用之前,應(yīng)把這些參數(shù)壓進棧的某個地方,然后過程中的指令按需從棧中讀取參數(shù)。 int *present=headcount。 4. 算法設(shè)計: 5. 將 BCD數(shù) 17分裂成兩個半字節(jié) 6. 保存低半字節(jié)(不需乘 1) 7. 用 0AH乘高半字節(jié) 8. 將結(jié)果和低半字節(jié)相加 9. 例如: 4596=4*1000+5*100+9*10+6*1 10. 1000=03E8H 4000=4*03E8H=0FA0H 11. 100=0064H 500=5*0064H=01F4H 12. 10=000AH 90=9*000AH=005AH 13. 1=0001H 6=1*0001H=0006H 14. 4596 11F4H DATA SEGMENT BCD_IN DB 17H BIN_VAL DB ? DATA ENDS STACK SEGMENT DW 100 DUP (0) STACK ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA, SS: STACK START: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS, AX MOV AL, BCD_IN CALL BCD_BIN MOV BIN_VAL, AL NOP BCD_BIN PROC NEAR PUSHF PUSH BX PUSH CX MOV BL, AL AND BL, 0FH AND AL, 0F0H MOV CL, 04 ROR AL, CL MOV BH, 0AH MUL BH ADD AL, BL POP CX POP BX POPF RET BCD_BIN ENDP CODE ENDS END START ( a)用寄存器傳遞參數(shù)實例 2. 用一般存儲單元傳遞參數(shù) R A MF F F F F H0 0 0 0 0 HX X X X 0 HX X X X 0 HX X X X 0 HC o d e s e g m e n t6 4 kD a t as e g m e n t6 4 kS t a c ks e g m e n t6 4 kE x t r as e g m e n t6 4 k[ B X ][ S P ][ B X ]I PC P U[ S I ][ D I ][ B P ][ D I ][ S I ]A H A LB H B LC H C LD H D LB PS ID IS PF l a gI PC SD SS SE S* 1 0 H DATA SEGMENT BCD_IN DB 17H BIN_VAL DB ? DATA ENDS STACK SEGMENT DW 100 DUP (0) STACK ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA, SS: STACK START: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS, AX CALL BCD_BIN NOP NOP BCD_BIN PROC NEAR PUSHF PUSH AX PUSH BX PUSH CX MOV AL, BCD_IN MOV BL, AL AND BL, 0FH AND AL, 0F0H MOV CL, 04 ROR AL, CL MOV BH, 0AH MUL BH ADD AL, BL MOV BIN_VALUE, AL POP CX POP BX POP AX POPF RET BCD_BIN ENDP CODE ENDS END START ( b)用有名存儲單元傳遞參數(shù)的實例 3. 用指針傳遞參數(shù) 指針方法可以傳遞指向數(shù)據(jù)存放在任何存儲單元的過程指針,也能傳遞指向零散值或指向數(shù)組或串的指針,因而這種方法具有更大的靈活性。這些在主程序和過程之間來回傳遞的數(shù)據(jù)值或地址通常被稱為參數(shù)( parameters)。 : 初始化 REPEAT 從端口(傳感器)讀入數(shù)據(jù) 屏蔽高半字節(jié) 存入數(shù)組中 等待 1ms過程 UNTIL 讀入 100個字節(jié) 算法設(shè)計: 《采樣數(shù)據(jù)程序〉 初始化數(shù)據(jù)段寄存器, DS 初始化堆棧段寄存器, SS 初始化指向數(shù)組的指針, SI 初始化計數(shù)器, BX REPEAT 等待 1ms過程 讀端口 初始化計數(shù)器 CX 屏蔽高半字節(jié) REPEAT 存入數(shù)組中 減量 CX 等待 1ms過程 UNTIL CX=0 增量指針, SI 減量計數(shù)器, BX UNTIL BX=0 : IN AND CALL INC DEC Jcc : AL DW 100 DUP (?) : 初始化數(shù)據(jù)段寄存器, DS 初始化堆棧段寄存器, SS 初始化指向數(shù)組的指針, SI 初始化計數(shù)器, BX 初始化計數(shù)器, CX PRESSURE_PORT EQU 0FFF8H DATA SEGMENT PRESSURE DW 100 DUP (?) SAMPLE EQU (($PRESSURE)/2) DATA ENDS STACK SEGMENT DW 40 DUP (0) STACK ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA, SS: STACK START: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS, AX LEA SI, PRESSURE MOV BX, SAMPLE MOV DX, PRESSURE_PORT NEXT_VAL: IN AX, DX AND AX, 0FFFH MOV [SI], AX CALL WAIT_1MS INC SI INC SI DEC BX JNZ NEXT_VAL STOP: NOP WAIT_1MS PROC NEAR 。this program finds the product of two externally defined words and 。the sum in a location defined by the ca
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1