1 PAGE 60,132 2 TITLE P04ASM1 ESTRUCTURA DE UN PROGRAMA .EXE 3;——————————————————————————- 4 STACKSG SEGMENT PARA STACK 'Stack' 5 … 6 STACKSG ENDS 7;——————————————————————————- 8 DATASG SEGMENT PARA 'Data' 9 … 10 DATASG ENDS 11;——————————————————————————- 12 CODESG SEGMENT PARA 'Code' 13 BEGIN PROC FAR 14 ASSUME SS:STACKSG, DS:DATASG,CS:CODESG 15 MOV AX, DATASG ;Obtiene la dirección del segmento de datos 16 MOV DS, AX ;Almacena dirección en DS 17 … 18 MOV AX, 4C00H ;Peticion 19 INT 21H ;Salida al DOS 20 BEGIN ENDP 21 CODESG ENDS 22 END BEGIN
TITLE P13ADD (COM) Operaciones ADD y SUB .MODEL SMALL .CODE ORG 100H BEGIN: JMP SHORT MAIN ;—————————————————————————- BYTEA DB 64H ;DATOS BYTEB DB 40H BYTEC DB 16H WORDA DW 4000H WORDB DW 2000H WORDC DW 1000H ;—————————————————————————- MAIN PROC NEAR ;Procedimiento principal: CALL B10ADD ;Llama a la rutina ADD CALL C10SUB ;Llama a la rutina SUB INT 21H MAIN ENDP ; Ejemplos de suma (ADD) de bytes: ;—————————————————————————-
B10ADD PROC MOV AL, BYTEA MOV BL, BYTEB ADD AL, BL ;registro a registro ADD AL, BYTEC ;memoria a registro ADD BYTEA, BL ;registro a memoria ADD BL, 10H ;inmediato a registro ADD BYTEA, 25H ;inmediato a memoria RET B10ADD ENDP ; Ejemplos de resta (SUB) de palabras: ;———————————————————- C10SUB PROC MOV AX, WORDA MOV BX, WORDB SUB AX,BX ;Registro a registro SUB AX,WORDC ;Memora de registro SUB WORDA, BX ;Registro de memoria SUB BX, 1000H ;Inmediato de registro SUB WORDA, 256H ;Inmediato de memoria RET C10SUB ENDP END BEGIN
Página anterior | Volver al principio del trabajo | Página siguiente |