Ассемблер и программирование для IBM PC


          

e Size Align Combine Class


000F CODESG ENDS END BEGIN
Segments and Groups: N a m e Size Align Combine Class CODESG . . . . . . . . . . . . 000F PARA PUBLIC 'CODE' DATASG . . . . . . . . . . . . 0004 PARA PUBLIC 'DATA' STACKSG. . . . . . . . . . . . 0080 PARA STACK 'STACK'
Symbols: N a m e Type Value Attr BEGIN. . . . . . . . . . . . . F PROC 0000 CODESG Length=000F PRICE. . . . . . . . . . . . . L WORD 0002 DATASG Global QTY. . . . . . . . . . . . . . L WORD 0000 DATASG Global SUBMUL . . . . . . . . . . . . L FAR 0000 External
page 60,132 TITLE SUBMUL Подпрограмма для умножения EXTRN QTY:WORD,PRICE:WORD ;------------------------------------------------- 0000 CODESG SEGMENT PARA PUBLIC 'CODE' 0000 SUBMUL PROC FAR ASSUME CS:CODESG PUBLIC SUBMUL
Ассемблер для IBM PC. Программы. 157
0000 A1 0000 E MOV AX,PRICE 0003 8B 1E 0000 E MOV BX,QTY 0007 F7 E3 MUL BX ;Произведение в DX:AX 0009 CB RET 000A SUBMUL ENDP 000A CODESG ENDS END SUBMUL
Segments and Groups: N a m e Size Align Combine Class CODESG . . . . . . . . . . . . 000A PARA PUBLIC 'CODE'
Symbols: N a m e Type Value Attr PRICE. . . . . . . . . . . . . V WORD 0000 External QTY. . . . . . . . . . . . . . V WORD 0000 External SUBMUL . . . . . . . . . . . . F PROC 0000 CODESG Global Length=000A
LINK IBM Personal Computer Linker Version 2.30 (C) Copyright IBM Corp 1981, 1985 Object Modules: B:CALLMUL3+B:SUBMUL3 Run File: [B:CALLMUL3.EXE]: <return>
List File: [NUL.MAP]: CON Libraries [.LIB]: <return>
Start Stop Length Name Class
00000H 00019H 001AH CODESG CODE 00030H 00033H 0004H DATASG DATA 00040H 000BFH 0080H STACKSG STACK
PROGRAM entry point at 0000:0000
Ассемблер для IBM PC. Программы. 158
page 60,132 TITLE CALLMULL4 (EXE) Передача параметров ; в подпрограмму EXTRN SUBMUL:FAR ;------------------------------------------------- 0000 STACKSG SEGMENT PARA STACK 'Stack' 0000 40 [ ???? ] DW 64 DUP(?) 0080 STACKSG ENDS ;------------------------------------------------- 0000 DATASG SEGMENT PARA 'Data' 0000 0140 QTY DW 0140H 0002 2500 PRICE DW 2500H 0004 DATASG ENDS ;------------------------------------------------- 0000 CODESG SEGMENT PARA PUBLIC 'Code' 0000 BEGIN PROC FAR ASSUME CS:CODESG,DS:DATASG,SS:STACKSG 0000 1E PUSH DS 0001 2B C0 SUB AX,AX 0003 50 PUSH AX 0004 B8 ---- R MOV A,DATASG 0007 8E D8 MOV DS,AX 0009 FF 36 0002 R PUSH PRICE 000D FF 36 0000 R PUSH QTY 0011 9A 0000 ---- E CALL SUBMUL ;Вызвать подпрограмму 0016 CB RET 0017 BEGIN ENDP 0017 CODESG ENDS END BEGIN

Содержание  Назад  Вперед