.


:




:

































 

 

 

 


IBM PC




.model small

.
.
 

.stack 200h

.data

 

a db?

c db?

d db 4 dup (?,?,?,?)

 

e dw?

f dw?

y dw?

t dw 8

 

D16 db '0123456789ABCDEF'

BUF db 4 DUP (20h),13,10,'$'

str1 db 'Resultat',13,10,'$'

 

.code

 

OutInt proc

 

test ax, ax; .

jns oi1

; ,

; .

mov cx, ax

mov ah, 02h

mov dl, '-'

int 21h

mov ax, cx

neg ax

; CX

oi1:

xor cx, cx

mov bx, 10; . 10 ..

oi2:

xor dx,dx

div bx

; .

; .

; ,

; .

push dx

inc cx

; ,

;

; , ,

; , .

test ax, ax

jnz oi2

; .

 

 

. 230100.7.1.00


mov ah, 02h

 

.
.
 
oi3:

pop dx

; ,

; .

add dl, '0'

int 21h

; ,

; .

loop oi3

 

ret

 

OutInt endp

 

InputInt proc

 

mov ah,0ah

xor di,di

mov dx,offset buff;

int 21h;

mov dl,0ah

mov ah,02

int 21h;

;

mov si,offset buff+2;

cmp byte ptr [si],"-";

jnz ii1

mov di,1;

inc si;

ii1:

xor ax,ax

mov bx,10; c

ii2:

mov cl,[si];

cmp cl,0dh;

jz endin

; ,

;

cmp cl,'0'; <0

jl er

cmp cl,'9'; >9

ja er

 

sub cl,'0';

mul bx; 10

add ax,cx;

inc si;

jmp ii2;

 

 

. 230100.7.1.00


er:; ,

;

.
.
 
mov dx, offset error

mov ah,09

int 21h

int 20h

;

; ax

endin:

cmp di,1; ,

jnz ii3

neg ax;

ii3:

ret

 

error db "incorrect number$"

buff db 6,7 Dup(?)

InputInt endp

 

 

PP1 proc near;---------------------e

mov Al,2

mov BL,c

imul BL

cbw

mov e,AX

cwd

mov AX,0

mov BX,0

ret 6;???

 

PP1 endp

 

PP2 proc near;f

mov AX,0

mov AL,a

imul AL

cbw

mov DX, 1

add AX, DX

cbw

mov f, AX

cwd

mov AX,0

mov DX,0

ret 6;???

PP2 endp

 

Begin:

mov ax, @Data

mov ds, ax

 

. 230100.7.1.00


.
.
 
call InputInt;

mov a,AL

call InputInt;

mov c,AL

 

mov SI,0

push SI

 

l1: call InputInt

pop SI

mov d[SI], AL

add SI,2

cmp SI,t

push SI

jne l1

 

call PP1; \ 1

call PP2; \ 2

mov SI,0

mov CX,4

xor AX,AX

mov y,AX

for: mov DX,0

mov AH,0

mov CL,0

mov AL,d[SI]

mov BL, AL

cbw

cmp AX,0

jg m2

mov CL,1

mov AL, BL

neg AL

cbw

m2: mov DL,4

idiv DL

cbw

cmp CL,0

je m3

neg AL

cbw

m3: mov BX, e

sub BX,AX

cbw

mov AX,BX

cwd

mov AX, BX

cwd

mov BX,f

idiv BX;AL=AL/f

 

 

. 230100.7.1.00


cbw

mov BX,AX

cwd

mov AX, BX

cwd

mov DX,y

add AX, DX

cbw

mov y, AX

add SI,2

cmp SI,t

jne for

mov CX,0

 

mov AX, y

 

mov DX, AX;DX:=AX

 

call OutInt

 

 

mov AX,4c00h

int 21h

END begin

 

IBM PC

.
.
 

 

 

 

. 230100.7.1.00

.
.
 
. 230100.7.1.00

 


Int ( ) float ( ) ( ) IBM PC ( )
a = 2 c = 20 d[0] = 20 d[1] = 12 d[2] = 4 d[3] = -16             1D    
a = 3 c = 30 d[0] = 51 d[1] = 41 d[2] = 24 d[3] = -21       21.625    
a = 2 c = 20 d[0] = 20 d[1] = 14 d[2] = 4 d[3] = 16       29.3     1C    

.
.
 

:

1D = 29

14 = 20

1C = 28.

. 230100.7.1.00


, ( int), IBM PC 100%. ( float) 2 .

( int )

.
.
 
: :. , . Enter.

: :. , . Enter.

: 4 :. 4 , . Enter.

y=. -, (1) , d[0], d[1], d[2], d[3]. .

( float )

, : :. , . Enter.

: :. , . Enter.

: 4 :. 4 ,

. 230100.7.1.00


. Enter.

.
.
 

y=. -, (1) , d[0], d[1], d[2], d[3]. .

. 1

*.txt. , , 1 .

TCom.exe Asm, File Open *.txt. Source module. GoAsm, , No errors detected! .

TCom.exe Load .

Start .

, d (1) , TCom.exe ( . 1). .

IBM PC

DOSBox 0.74. ( mount c, . 2 ( 1, )) , *.asm,

 

 

. 230100.7.1.00

 


. 230100.7.1.00
. 230100.7.1.00
tasm.exe tlink.exe ( : 3 1(!) ).

DOSBox 0.74 tasm.exe < >..asm.

.2 , . , ( . 2). *.obj.

DOSBox 0.74 . tlink.exe < >.obj. , . , DOSBox 0.74 ( . 2). *.exe.

. < >.exe. DOSBox 0.74 , , , : , c, d[0], d[1], d[2], d[3]. Enter.

, .

 

.
.
 
. 230100.7.1.00

 


( int )

, = 14

= 962

= 2.5

= , 1

( float )

, = 14

=1003

= 1.52

= , 1

.
.
 

=664

= 15 .

IBM PC

, = 203 142

*.asm = 6 594

*.obj = 707

*.exe =924

= , 1

= , 1

 

 

. 230100.7.1.00


, : , IBM PC Intel 8086.

. , , , IBM PC, - . , , .

, , IBM PC.

 

 

.
.
 
. 230100.7.1.00

 

 


 

1. . . Win 32. . .: , 2007. 368 . ISBN 978-5-8459-1197-1

2. . . DOS, Windows UNIX. . ; . , 2006. 608 . ISBN 5-94074-259-9

3. . Intel = Assembly Language for Intel-Based Computers. .: , 2005. 912 . ISBN 0-13-091013-9

4. . . ? ! . .: -, 2007. 384 . ISBN 978-5-94157-709-

.
.
 
. 230100.7.1.00

 





:


: 2016-11-12; !; : 319 |


:

:

, .
==> ...

1266 - | 1230 -


© 2015-2024 lektsii.org - -

: 0.06 .