《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——第十章——自编解析与答案
10.1 寫出指令,選擇顯示方式10H,并將背景設為綠色。
答: MOV AH, 00H
MOV AL, 10H ;選擇顯示方式10H(16色圖形)
INT 10H
MOV AH, 10H
MOV AL, 00H
MOV BH, 10H ;背景設為綠色(02H也可以,是用DEBUG調試出來的)
MOV BL, 0 ;選擇0號調色板
INT 10H
設置背景色也可用:
MOV AH, 0BH ;設置背景色和調色板
MOV BH, 0 ;設置背景色功能
MOV BL, 8 ;綠色背景
INT 10H
10.2 如何使用INT 10H的功能調用改變顯示方式?
答:在AH中設置功能號00H,在AL中設置顯示方式值,調用INT 10H即可。
10.3 VGA獨有的一種顯示方式是什么?
答:像素值為640×480,可同時顯示16種顏色,這種顯示方式(12H)是VGA獨有的。
10.4 對于EGA和VGA顯示適配器,使用顯示方式13H時(只有VGA有),顯示數據存在哪里?
答:顯示數據存在顯示存儲器里。
10.5 對于VGA的顯示方式13H時存放一屏信息需要多少字節的顯存?
答:需要64000個字節。
10.6 利用BIOS功能編寫圖形程序:設置圖形方式10H,選擇背景色為藍色,然后每行(水平方向)顯示一種
顏色,每4行重復一次,一直到整個屏幕都顯示出彩條。
答:程序如下:
TITLE GRAPHIX.COM
codeseg segment
assume cs:codeseg, ds:codeseg, ss:codeseg
org 100h
main proc far
mov ah, 00h
mov al, 10h ;選擇顯示方式10h(16色圖形)
int 10h
mov ah, 0bh
mov bh, 00h
mov bl, 01h ;背景設為藍色
int 10h
mov ah, 0bh
mov bh, 01h
mov bl, 00h ;設置調色板0#
int 10h
mov bx, 0 ;顯存的第0頁
mov cx, 0 ;起始列號為0列
mov dx, 0 ;起始行號為0行
line: mov ah, 0ch ;寫像素點
mov al, bl
int 10h
inc cx
cmp cx, 640
jne line
mov cx, 0 ;起始列號為0列
inc bl
and bl, 03h ;只顯示四種顏色(因此保留最低兩位)
inc dx
cmp dx, 350
jne line
int 20h
main endp
codeseg ends
end main
10.7 修改10.6題的程序,使整個屏幕都顯示出縱向的彩條。
答:程序如下:
TITLE GRAPHIX.COM
codeseg segment
assume cs:codeseg, ds:codeseg, ss:codeseg
org 100h
main proc far
mov ah, 00h
mov al, 10h ;選擇顯示方式10h(16色圖形)
int 10h
mov ah, 0bh
mov bh, 00h
mov bl, 01h ;背景設為藍色
int 10h
mov ah, 0bh
mov bh, 01h
mov bl, 00h ;設置調色板0#
int 10h
mov bx, 0 ;顯存的第0頁
mov cx, 0 ;起始列號為0列
mov dx, 0 ;起始行號為0行
line: mov ah, 0ch ;寫像素點
mov al, bl
int 10h
inc dx
cmp dx, 350
jne line
mov dx, 0 ;起始行號為0行
inc bl
and bl, 03h ;只顯示四種顏色(因此保留最低兩位)
inc cx
cmp cx, 640
jne line
int 20h
main endp
codeseg ends
end main
10.8 按動鍵盤上的光標控制鍵,在屏幕上下左右任一方向上繪圖,每畫一點之前,由數字鍵0~3指定該點
的顏色值,按動ESC鍵,繪圖結束,返回DOS。
答:程序如下:
;DRAW—Program to draw on screen with sursor arrows
;For 640*350 color mode
up equ 48h ;向上鍵的掃描值
down equ 50h ;向下鍵的掃描值
left equ 4bh ;向左鍵的掃描值
right equ 4dh ;向右鍵的掃描值
escape equ 1bh ;“Esc” character
codeseg segment
main proc far
assume cs:codeseg
;clear screen by scrolling it, using ROM call
start: mov ah, 06h
mov al, 00h
mov cx, 00h
mov dl, 79
mov dh, 24
int 10h
;screen pointer will be in CX,DX registers;row number (0 to 350d) in DX
;coumn number (0 to 640d) in CX
mov ah, 00h
mov al, 10h ;選擇顯示方式10h(16色圖形)
int 10h
mov ah, 0bh
mov bh, 00h
mov bl, 01h ;背景設為藍色
int 10h
mov ah, 0bh
mov bh, 01h
mov bl, 00h ;設置調色板0#
int 10h
mov dx, 175 ;設在屏幕中心
mov cx, 320
;get character from keyboard
get_char: mov ah, 0 ;鍵盤輸入
int 16h
cmp al, escape
jz exit
cmp al, 33h ;>‘3’嗎?
jg plot
cmp al,30h ;<‘0’嗎?
jl plot
mov bl, al ;是‘0’~‘3’,設置顏色
and bl, 03
jmp get_char
;figure out which way to go, and draw new line
plot: mov al, ah
cmp al, up
jnz not_up
dec dx
not_up: cmp al, down
jnz not_down
inc dx
not_down: cmp al, right
jnz not_right
inc cx
not_ right: cmp al, left
jnz write
dec cx
;use ROM routine to write dot,reguires row# in DX,col in CX,color in AL
write: mov al, bl
mov ah, 0ch
int 10h
jmp get_char
exit: int 20h
main endp
codeseg ends
end start
10.9 位屏蔽寄存器的作用是什么?在16色,640×480顯示方式中如何使用位屏蔽寄存器?
答:位屏蔽寄存器的作用是決定了新的像素值產生的方法。當位屏蔽寄存器的某位設為0時,相對應的像素值
直接由鎖存器寫入顯存;位屏蔽寄存器的某位為1時,所對應的像素值由鎖存器中的像素值與CPU數據或置位/
重置寄存器中相應位合并之后產生。
10.10 讀映像選擇寄存器的作用是什么?如果4個位面的內容都需要讀取,讀映像選擇寄存器應如何設置?
答:讀映像選擇寄存器的作用是用于選擇哪一個位面的字節讀入CPU。讀映像選擇寄存器的0和1位,用來指定
哪個位面的鎖存器內容讀到CPU。如果4個位面的內容都需要讀取,則必須對同一地址執行4次讀操作,在每次
讀之前,用指令分別設置讀映像選擇寄存器。
10.11 編寫程序使一只“鳥”飛過屏幕。飛鳥的動作可由小寫字母v (ASCII碼76H)變為破折號(ASCII碼
0C4H)來模仿,這個字符先后交替在兩列顯示。鳥的開始位置是0列20行,每個字符顯示0.5秒,然后消失。
答:程序段如下:
TITLE Flier.EXE ;飛鳥程序
;******************************************
DSEG SEGMENT ;定義數據段
BIRD DB 76H, 07 ;小寫字母v及屬性
DB 0C4H, 07 ;破折號及屬性
DSEG ENDS ;以上定義數據段
;******************************************
CSEG SEGMENT ;定義代碼段
MAIN PROC FAR
ASSUME CS: CSEG, DS: DSEG
START: PUSH DS ;設置返回DOS
SUB AX, AX
PUSH AX
MOV AX, DSEG
MOV DS, AX ;給DS賦值
MOV AH, 0FH ;取當前顯示方式
INT 10H
PUSH AX ;保存當前顯示方式(AL)
MOV AH, 0 ;設置彩色80×25文本方式
MOV AL, 3
INT 10H
MOV DH, 20 ;20行
MOV DL, 0 ;0列
BEGIN: MOV SI, 2 ;字符v和破折號“-”交替顯示
MOV CX, 1 ;一次顯示一個字符及屬性
LEA DI, BIRD
DISP: CMP DL, 79 ;飛到79列就退出
JAE EXIT
MOV AH, 2 ;置光標位置
INT 10H
MOV AH, 9 ;在光標位置顯示字符及屬性
MOV AL, [DI] ;取顯示字符及屬性
MOV BL, [DI+1]
INT 10H
CALL DELAY ;延時0.5秒
MOV AH, 9 ;在光標位置顯示字符及屬性
MOV AL, ‘ ’ ;顯示空格,擦除該位置的字符
MOV BL, 7
INT 10H
INC DL ;飛到下一列
ADD DI, 2
DEC SI
JNZ DISP
JMP BEGIN
EXIT: POP AX ;恢復當前顯示方式(AL)
MOV AH, 0
INT 10H
RET ;返回DOS
MAIN ENDP
;----------------------------------------------------------------------------------
DELAY PROC NEAR ;延時0.5s子程序
PUSH CX
PUSH DX
MOV DX, 50 ;延時0.5s
DEL1: MOV CX, 2801 ;延時10ms
DEL2: LOOP DEL2
DEC DX
JNZ DEL1
POP DX
POP CX
RET
DELAY ENDP ;DELAY子程序結束
;----------------------------------------------------------------------------------
CSEG ENDS ;以上定義代碼段
;******************************************
END START ;匯編語言源程序結束
10.12 用圖形文本的方法設計“Name=XXX”(X為你自己姓名的縮寫),并將其數據編碼定義在一個數組中。
答:用圖形文本的方法設計“NAME=YQS”的程序和數組如下:
顯示格式如下:
S h o o t i n g
TITLE NAME_YQS.EXE ;顯示“NAME=YQS”的程序
;******************************************
;Graphics block message for the words shooting NAME=YQS
;00H→end of massage,0FFH→end of screen line
DSEG SEGMENT ;定義數據段
NAME_YQS DB 2 ;Start row(開始行)
DB 2 ;Start column(開始列)
DB 1000 0011B ;Color attribute
DB ‘Shooting’,0FFH,0FFH ;顯示“Shooting”
DB 7 DUP(0DCH),0FFH,0FFH
;Graphics encoding of the word NAME=YQS using IBM character set
DB 0DEH, 0DBH, 4 DUP(20H), 0DBH, 0DDH, 20H, 0DBH, 0DFH, 0DBH
DB 20H, 20H, 0DBH, 5 DUP(20H), 0DBH, 20H, 2 DUP(0DFH, 0DBH)
DB 8 DUP(20H), 0DFH, 0DBH, 20H, 20H, 0DBH, 0DFH, 20H, 20H
DB 3 DUP(0DBH), 3 DUP(20H), 3 DUP(0DBH), 0DCH, 0FFH
DB 0DEH, 0DBH, 0DBH, 3 DUP(20H), 0DBH, 0DDH, 2 DUP(20H, 0DBH)
DB 20H, 20H, 0DBH, 0DBH, 3 DUP(20H), 0DBH, 0DBH, 20H, 20H, 0DBH
DB 11 DUP(20H), 3 DUP(0DBH, 20H, 20H), 20H, 0DBH, 20H, 0DBH
DB 3 DUP(20H), 0DFH, 0FFH
DB 0DEH, 0DBH, 20H, 0DBH, 20H, 20H, 0DBH, 0DDH, 2 DUP(20H, 0DBH)
DB 20H, 4 DUP(20H, 0DBH), 20H, 20H, 0DBH, 0DCH, 0DBH, 20H
DB 7 DUP(0DFH), 3 DUP(20H, 20H, 0DBH), 3 DUP(20H), 0DBH, 20H, 0DBH
DB 3 DUP(0DCH), 20H, 0FFH
DB 0DEH, 0DBH, 20H, 20H, 0DBH, 20H, 0DBH, 0DDH, 20H, 0DBH, 0DFH
DB 0DBH, 4 DUP(20H, 20H, 0DBH), 20H, 0DFH, 20H, 7 DUP(0DCH), 20H
DB 20H, 0DFH, 0DBH, 0DBH, 0DFH, 20H, 20H, 0DBH, 3 DUP(20H), 0DBH
DB 20H, 20H, 3 DUP(0DFH), 0DBH, 0FFH
DB 0DEH, 0DBH, 3 DUP(20H), 0DBH, 0DBH, 0DDH, 2 DUP(20H, 0DBH), 20H
DB 20H, 0DBH, 5 DUP(20H), 2 DUP(0DBH, 20H, 20H), 10 DUP(20H), 0DBH
DB 0DBH, 3 DUP(20H), 0DBH, 20H, 0DCH, 20H, 0DBH, 20H, 0DCH
DB 3 DUP(20H), 0DBH, 0FFH
DB 0DEH, 0DBH, 4 DUP(20H), 0DBH, 0DDH, 0DCH, 0DBH, 20H, 0DBH
DB 0DCH, 20H, 0DBH, 5 DUP(20H), 0DBH, 20H, 2 DUP(0DCH, 0DBH)
DB 9 DUP(20H), 0DCH, 0DBH, 0DBH, 0DCH, 3 DUP(20H), 0DFH, 0DFH
DB 0DBH, 20H, 20H, 0DFH, 3 DUP(0DBH), 20H, 0FFH
DB 00 ;結束顯示標志
START_COL DB ?
DSEG ENDS ;以上定義數據段
;******************************************
;Text display procedures: display a message on the graphics screen
CSEG SEGMENT ;定義代碼段
MAIN PROC FAR
ASSUME CS: CSEG, DS: DSEG
START: PUSH DS ;設置返回DOS
SUB AX, AX
PUSH AX
MOV AX, DSEG
MOV DS, AX
LEA DI, NAME_YQS
MOV DH, [DI] ;Get row into DH
INC DI ;Bump pointer
MOV DL, [DI] ;And column into DL
MOV START_COL, DL ;Store start column
MOV AH, 2 ;Set cursor position
MOV BH, 0 ;Page 0
INT 10H
INC DI ;Bump pointer to attribute
MOV BL, [DI] ;Get color code into BL
Char_write: INC DI ;Bump to message start
MOV AL, [DI] ;Get character
CMP AL, 0FFH ;End of line?
JE BUMP_ROW ;Next row
CMP AL, 0 ;Test for terminator
JE END_TEXT ;Exit routine
CALL SHOW_CHAR
JMP CHAR_WRITE
END_TEXT: RET ;返回DOS
Bump_row: INC DH ;Row control register
MOV DL, START_COL ;Column control to start column
MOV AH, 2 ;Set cursor position
MOV BH, 0 ;Page 0
INT 10H
JMP CHAR_WRITE
MAIN ENDP
;----------------------------------------------------------------------------------
;Display character in AL and using the color code in BL
Show_char PROC NEAR ;顯示字符子程序
MOV AH, 9 ;BIOS service request number
MOV BH, 0 ;Page 0
MOV CX, 1 ;No repeat
INT 10H
;Bump cursor
INC DL
MOV AH, 2 ;Set cursor position
MOV BH, 0 ;Page 0
INT 10H
RET
Show_char ENDP ;SHOW_CHAR子程序結束
;----------------------------------------------------------------------------------
CSEG ENDS ;以上定義代碼段
;******************************************
END START ;匯編語言源程序結束
10.13 游戲程序常常用隨機數來控制其圖形在屏幕上移動。請編寫一程序,用隨機數來控制笑臉符(ASCII碼
02H)顯示的位置。笑臉符每次顯示的列號總是遞增1。而行的位置可能是前次的上一行,下一行或同一行,這
根據隨機數是0、1或2來決定,當行號變為0、24或列號變為79時顯示結束。笑臉在每個位置上顯示0.25s。(提
示:INT 1AH的AH=0是讀當前時間的功能調用,利用該功能返回的隨時都在變化的時間值作為產生隨機數的基
數。)
答:程序段如下:
TITLE Disp_Laugh.EXE ;笑臉顯示程序
;******************************************
CSEG SEGMENT ;定義代碼段
MAIN PROC FAR
ASSUME CS: CSEG
START: PUSH DS ;設置返回DOS
SUB AX, AX
PUSH AX
MOV AH, 0FH ;取當前顯示方式
INT 10H
PUSH AX ;保存當前顯示方式(AL)
MOV AH, 0 ;設置彩色80×25文本方式
MOV AL, 3
INT 10H
MOV CX, 1 ;一次顯示一個笑臉字符及屬性
MOV DH, 12H ;12行,從屏幕左邊的中間開始
MOV DL, 0 ;0列
BEGIN: CMP DL, 79 ;移到79列就退出
JAE EXIT
CMP DH, 0 ;移到第0行就退出
JBE EXIT
CMP DH, 24 ;移到第24行就退出
JAE EXIT
MOV AH, 2 ;置光標位置
INT 10H
MOV AH, 9 ;在光標位置顯示字符及屬性
MOV AL, 02H ;取笑字符及屬性
MOV BL, 7
INT 10H
CALL DELAY ;延時0.25秒
MOV AH, 9 ;在光標位置顯示字符及屬性
MOV AL, ‘ ’ ;顯示空格,擦除該位置的字符
MOV BL, 7
INT 10H
INC DL ;移到下一列
PUSH DX
MOV AH, 0 ;讀當前時間, CH:CL=時:分,DH:DL=秒:1/100秒
;產生隨機數基數
INT 1AH
MOV AX, DX
POP DX
AND AL, 03H ;隨機數為1/100秒的最低兩位
JZ DOWN ;隨機數的最低兩位為0則下降一行
CMP AL, 1
JNZ LEVEL ;隨機數的最低兩位為≥2則水平移動
DEC DH ;隨機數的最低位為1則上跳一行
JMP BEGIN
DOWN: INC DH
LEVEL: JMP BEGIN
EXIT: POP AX ;恢復當前顯示方式(AL)
MOV AH, 0
INT 10H
RET ;返回DOS
MAIN ENDP
;----------------------------------------------------------------------------------
DELAY PROC NEAR ;延時0.25s子程序
PUSH CX
PUSH DX
MOV DX, 25 ;延時0.25s
DEL1: MOV CX, 2801 ;延時10ms
DEL2: LOOP DEL2
DEC DX
JNZ DEL1
POP DX
POP CX
RET
DELAY ENDP ;DELAY子程序結束
;----------------------------------------------------------------------------------
CSEG ENDS ;以上定義代碼段
;******************************************
END START ;匯編語言源程序結束
10.14 分配給PC機主板上的8253/54定時器的端口地址是什么?
答:8253/54定時器的3個獨立計數器Counter0、Counter1和Counter2的端口地址分別為40H、41H和
42H。8253/54內部還有一個公用的控制寄存器,端口地址為43H。
10.15 8253/54定時器的三個計數器,哪一個用于揚聲器?它的端口地址是什么?
答:8253/54定時器的計數器Counter2用于揚聲器,它的端口地址為42H。
10.16 下面的代碼是利用監控端口61H的PB4來產生延遲時間的,它適用于所有的286、386、Pentium PC及兼
容機。請指出該程序的延遲時間是多少?
MOV DL, 200
BACK: MOV CX, 16572
WAIT: IN AL, 61H
AND AL, 10H
CMP AL, AH
JE WAIT
MOV AH, AL
LOOP WAIT
DEC DL
JNZ BACK
答:該程序的延遲時間是200×16572×15.08μs=49981152μs≈50s。
10.17 在PC機上編寫樂曲程序“Happy Birthday”,樂曲的音符及音頻如下:
歌詞 音符 音頻 節拍 歌詞 音符 音頻 節拍 歌詞 音符
音頻 節拍
hap C 262 1/2 day C 262 1 so D 294 3
py C 262 1/2 to G 392 1 hap Bb 466 1/2
birth D 294 1 you F 349 2 py Bb 466 1/2
day C 262 1 hap C 262 1/2 birth A 440 1
to F 349 1 py C 262 1/2 day C 262 1
you E 330 2 birth D 294 1 to G 392 1
hap C 262 1/2 day A 440 1 you F 349 2
py C 262 1/2 dear F 349 1
birth D 294 1 so E 330 1
答:程序如下:
TITLE MUSIC — A music of ‘Happy Birthday’ ;連接時需加上GENSOUND程序
EXTRN SOUNDF: FAR ;SOUNDF是外部過程——通用發聲程序
;******************************************
STACK SEGMENT PARA STACK ‘STACK’ ;定義堆棧段
DB 64 DUP (‘STACK.’)
STACK ENDS ;以上定義堆棧段
;******************************************
DSEG SEGMENT PARA ‘DATA’ ;定義數據段
MUS_FREQ DW 262, 262, 294, 262, 349, 330, 262, 262, 294, 262,392, 349, 262, 262
DW 294, 440, 349, 330, 294, 466, 466,440,262, 392, 349, -1
MUS_TIME DW 25, 25, 50, 50, 50, 100
DW 25, 25, 50, 50, 50, 100
DW 25, 25, 50, 50, 50, 50, 150
DW 25, 25, 50, 50, 50, 100
DSEG ENDS ;以上定義數據段
;******************************************
CSEG SEGMENT PARA ‘CODE’ ;定義代碼段
ASSUME CS: CSEG, DS: DSEG, SS: STACK
MUSIC PROC FAR
PUSH DS ;設置返回DOS
SUB AX, AX
PUSH AX
MOV AX, DSEG
MOV DS, AX ;給DS賦值
LEA SI, MUS_FREQ ;取發聲的頻率(音階)表首地址
LEA BP, MUS_TIME ;取發聲的節拍(時間)表首地址
FREQ: MOV DI, [SI] ;讀取頻率值
CMP DI, -1 ;歌曲結束了嗎?
JE END_MUS
MOV BX, DS:[BP] ;讀取節拍
CALL SOUNDF ;調通用發聲子程序
ADD SI, 2
ADD BP, 2
JMP FREQ
END_MUS: RET ;返回DOS
MUSIC ENDP
CSEG ENDS ;以上定義代碼段
;******************************************
END MUSIC ;匯編語言源程序結束
以下是SOUNDF ——外部的通用發聲子程序(教材392頁)
TITLE SOUNDF —— 通用發聲子程序
;******************************************
PUBLIC SOUNDF ;定義為公共過程
;******************************************
CSEG1 SEGMENT PARA ‘CODE’ ;定義代碼段
ASSUME CS: CSEG1
SOUNDF PROC FAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH DI
MOV AL, 0B6H ;寫定時器8253的工作方式
OUT 43H, AL
MOV DX, 12H ;根據頻率求8253的計數值,即533H*896/freq
MOV AX, 533H*896 ;(DX),(AX)=123280H=533H*896
DIV DI ;(DI) = freq
OUT 42H, AL ;向8253送計數值
MOV AL, AH
OUT 42H, AL
IN AL, 61H ;取8255的PB口當前內容,并保護
MOV AH, AL
OR AL, 3 ;開始發聲,PB1=1,PB0=1
OUT 61H, AL
WAIT1: MOV CX, 663 ;延時(BX)×10ms
CALL WAITF
MOV AL, AH
AND AL, 0FCH ;停止發聲,PB1=0,PB0=0
OUT 61H, AL
POP DI
POP DX
POP CX
POP BX
POP AX
RET
SOUNDF ENDP
;******************************************
WAITF PROC NEAR
PUSH AX
WAITF1: IN AL, 61H
AND AL, 10H
CMP AL, AH
JE WAITF1
MOV AH, AL
LOOP WAITF1
POP AX
RET
WAITF ENDP
CSEG1 ENDS ;以上定義代碼段
;******************************************
END
10.18 編寫用鍵盤選擇計算機演奏歌曲的程序。首先在屏幕上顯示出歌曲名單如下:
A MUSIC 1
B MUSIC 2
C MUSIC 3
當從鍵盤上輸入歌曲序號A,B或C時,計算機則演奏所選擇的歌曲,當在鍵盤上按下0鍵時,演奏結束。
答:程序段如下:
MUS_LST DB ‘A MUSIC 1’, 0DH, 0AH
DB ‘B MUSIC 2’, 0DH, 0AH
DB ‘C MUSIC 3’, 0DH, 0AH
DB ‘0 END’, 0DH, 0AH, ‘$’
┇
MOV AH, 09 ;顯示字符串的DOS功能調用
LEA DX, MUS_LIST
INT 21H
INPUT: MOV AH, 1 ;鍵盤輸入一個字符的DOS功能調用
INT 21H
CMP AL, ‘0’ ;結束演奏嗎?
JE EXIT
OR AL, 0010 0000B ;變為小寫字母
CMP AL, ‘a’ ;演奏歌曲a嗎?
JNZ B0
CALL MUSIC1 ;去演奏歌曲A
JMP INPUT
B0: CMP AL, ‘b’ ;演奏歌曲b嗎?
JNZ C0
CALL MUSIC2 ;去演奏歌曲B
JMP INPUT
C0: CMP AL, ‘c’ ;演奏歌曲c嗎?
JNZ INPUT
CALL MUSIC3 ;去演奏歌曲C
JMP INPUT
EXIT: RET ;返回
?
參考文章
http://blog.sina.com.cn/s/blog_77f58b350100q4dv.html
https://wenku.baidu.com/view/303e0e114431b90d6c85c720.html
https://shentuzhigang.blog.csdn.net/article/details/106560578
總結
以上是生活随笔為你收集整理的《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——第十章——自编解析与答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《IBM-PC汇编语言程序设计》(第2版
- 下一篇: 《IBM-PC汇编语言程序设计》(第2版