📄 10.txt
字号:
1。答:
(1)EXYRN SUBPRO:FAR (2)PUBLIC SUBPRO
2、答:
(1)PUBLIC QTY, VALUE, PRICE
(2)EXTRN QTY:BYTE, VALUE:WORD, PRICE:WORD
3、答:
模块1:
PUBLIC VAR1, VAR2, LAB3
模块2:
PUBLIC VAR3, LAB2
EXTRN VAR1:DWORD, VAR2:BYTE, LAB1:NEAR, LAB3:FAR
模块3:
PUBLIC LAB3
EXTRN VAR1:DWORD, VAR2:BYTE, LAB1:NEAR, LAB2:FAR
4、答:
EXTRN SUBMUL:FAR
SSEG SEGMENT
DW 64 DUP(?)
SSEG ENDS
;--------------------------------------------
DSEG SEGMENT
QTY DW ?
PRICE DW ?
DSEG ENDS
;---------------------------------------------
CSEG1 SEGMENT
ASSUME CS:CSEG1, DS:DSEG, SS:SSEG
CALLMUL PROC FAR
MOV AX, DSEG
MOV DS,AX
MOV AX, PRICE
MOV BX, QTY
CALL FAR PTR SUBMUL
…
CALLMUL ENDP
CSEG1 ENDS
END CALLMUL
;------------------------------------------------
PUBLIC SUBMUL
CSEG2 SEGMENT
ASSUME CS:CSEG2
SUBMUL PROC FAR
MUL BX
RET
SUBMUL ENDP
CSEG2 ENDS
END
;--------------------------------------------------
5、答:
1 D_SEG SEGMENT
2 X DW 16 DUP(?)
3 Y DW 16 DUP(?)
4 D_SEG ENDS
;--------------------------------------------
5 E_SEG SEGMENT
6 R DW 16 DUP(?)
7 E_SEG ENDS
;---------------------------------------------
8 C_SEG SEGMENT
9 ASSUME CS:C_SEG, DS:D_SEG, ES:E_SEG
10 MAIN PROC FAR
11 MOV AX, D_SEG
12 MOV DS,AX
13 MOV AX, E_SEG
14 MOV ES, AX
15 CALL COMPUTE
16 …
17 MAIN ENDP
;------------------------------------------------
18 COMPUTE PROC NEAR
19 MOV CX,16
20 MOV SI,0
21 MOV DI,0
22 MOV BX,0
23 NEXT: MOV AX, X[SI]
24 ADD AX, Y[DI]
25 SUB AX, 3
26 MOV ES:R[BX],AX
27 INC SI
28 INC DI
29 INC BX
30 LOOP NEXT
31 RET
32 COMPUTE ENDP
33 C_SEG ENDS
;---------------------------------------------------
34 END MAIN
(1) D_SEG SEGMENT
…
D_SEG ENDS
;----------------------------------------
E_SEG SEGMENT
…
E_SEG ENDS
;---------------------------------------
C_SEG1 SEGMENT
ASSUME CS:C_SEG, DS:D_SEG, ES:E_SEG
MAIN PROC FAR
MOV AX, D_SEG
MOV DS,AX
MOV AX, E_SEG
MOV ES, AX
CALL FAR PTR COMPUTE
…
MAIN ENDP
C_SEG1 ENDS
;------------------------------------------------
C_SEG2 SEGMENT
ASSUME CS:C_SEG2, DS:D_SEG, ES:E_SEG
COMPUTE PROC FAR
…
COMPUTE ENDP
C_SEG2 ENDS
;--------------------------------------------------
END MAIN
(2) D_SEG SEGMENT
…
D_SEG ENDS
;----------------------------------------
E_SEG SEGMENT
…
E_SEG ENDS
;---------------------------------------
EXTRN COMPUTE:FAR
PUBLIC X, Y, R
C_SEG1 SEGMENT
ASSUME CS:C_SEG, DS:D_SEG, ES:E_SEG
MAIN PROC FAR
MOV AX, D_SEG
MOV DS,AX
MOV AX, E_SEG
MOV ES, AX
CALL FAR PTR COMPUTE
…
MAIN ENDP
C_SEG1 ENDS
END MAIN
;--------------------------------------------------
EXTRN X:WORD, Y:WORD, R:WORD
PUBLIC COMPUTE
C_SEG2 SEGMENT
ASSUME CS:C_SEG2, DS:D_SEG, ES:E_SEG
COMPUTE PROC FAR
MOV AX, D_SEG
MOV DS,AX
MOV AX, E_SEG
MOV ES, AX
…
COMPUTE ENDP
C_SEG2 ENDS
END
;--------------------------------------------------
6、答:
.model small
.stack 100h
.data
public
data1 dw 1228
data2 dw 52400
result dd ?
quotient dw ?
remainder dw ?
.code
extrn dmul:far,ddiv:far
start: mov ax,@data
mov ds,ax
mov dx, data1
mov ax, data2
push ax
push dx
call far ptr dmul
call far ptr ddiv
mov ah,4ch
int 21h
end start
;----------------------------------------------
.model small
extrn result:dword
.code
public dmul
dmul proc far_ _
push bp
mov bp,sp
mov ax,[bp+6]
mov bx,[bp+8]
mul bx
mov word ptr result,ax
mov word ptr result+2,dx
pop bp
ret
dmul endp
end
;---------------------------------------------------
.model small
extrn quotient:word, remainder:word
.code
public ddiv
ddiv proc far_ _
push bp
mov bp,sp
mov bx,[bp+6]
mov ax,[bp+8]
mov dx,0
div bx
mov quotient,ax
mov remainder,dx
pop bp
ret
dmul endp
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -