Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Низкоуровневое системное программирование - файл 1.doc


Низкоуровневое системное программирование
скачать (542 kb.)

Доступные файлы (1):

1.doc542kb.04.12.2011 03:36скачать

содержание
Загрузка...

1.doc

Реклама MarketGid:
Загрузка...


2008.055569... 24 -431.24- ..





һ







() () ______________________



.. -431 _ . .______

.. . . ..

1. () ()^ ??


2. : , ; : com-; : DOS; : ; : ____________________________________________________

3. :

3.1. Microsoft Word

__________, ________________

, , ,

3.2. :

, , , , , , - , ,
3.3. :

-

_________________ __________________

_________________





.....................................................................................................................4

.............................................5

- ...........................................................................................9

...........................................12

.............................................................................................16

.............................................................................................................17

.................................................................................................18

1..........................................................................................................19

, , , IBM PC, .


( DOS BIOS) , , . (, ) DOS BIOS , , . DOS BIOS Assembler, , , , .


^


.

.com , : PSP ( - 100h , DOS ), (.. ), . (CS, DS, ES, SS) PSP. FFFEh. , , 64 , .

ASSUME - , ; , CSEG - CS, CSEG - DS CSEG SS, ES: CSEG.

:

) Esc ;

) , ;

) - .

DOS: int 21h, int 20h, int 29h BIOS: int 10h.

16- 80*25. BIOS int 10h. :

mov ax, 3

int 10h

, , , . DOS int 21h c 09h. ( ). $ ( 24h), , .

.

mov , bx 10 . xor, , . dx. div bx. push . inc jnz (, ) , dx 0.

, .

pop , ASCII- . loop. loop 1. int 29h. Int 29h Dos. , al ASCII.

09h DOS int 21h , ESC , .

.

07h DOS int 21h. . . . .

cmp al, . je (, ), jb (, ), ja (, ) , , . . , .

al 27 ( ESC), DOS int 20h.

48<al<57, c mov al dl 02h DOS int 21h. , DL, , . .

.

:

mov bh, 0

mov bl, 11000000b

, , 7 , 6, 5, 4 , 3 , 2, 1, 0 - .

BIOS int 10h c 09h. . , .   . AL . 02h. . BL . BH = (0,1,...7), CX = .

.

BIOS int 10h c 03h. . , .

BIOS int 10h c 02h. , . . , . BIOS , .

. 80 25 , 0h BIOS 10h.

, . ASCII , - . , , , ( ).
^

-







^






- , 1.

:

cseg segment 'code' ;

assume cs:cseg, ds:cseg ;

org 100h ;

begin: ;


  1. , ( ):

mov ax, 3 ;8025 16-

int 10h ; BIOS


  1. , ():

mov ah,9 ; $

mov dx, offset msg ; dx msg

int 21h ; DOS-,

mov dx, offset msg1 ; dx msg1

int 21h ; DOS-,

mov dx, offset msg2 ; dx msg2

int 21h ; DOS-,

mov dx, offset msg3 ; dx msg3

int 21h ; DOS-,

mov dx, offset msg4 ; dx msg4

int 21h ; DOS-,

mov dx,offset dbRazmer ;

int 21h ; DOS-,

;


  1. , .

mov ax,dwRazmer ;

mov bx,10 ;

xor cx,cx ;cx=0
stek:

xor dx,dx ;dx=0

div bx ; 10

push dx ;

inc cx ;

or ax,ax ; 0

jnz stek ;,
vivod:

pop ax ;

or al,30h ; ascii-

int 29h ; p , p al

loop vivod ; cx ,


  1. , ():

mov ah, 9 ; DOS

mov dx, offset msg5 ; dx msg5

int 21h ; DOS-,

mov dx, offset msg6 ; dx msg6

int 21h ; DOS-,

mov dx, offset msg7 ; dx msg7

int 21h ; DOS-,


  1. , , Esc , :

mov bh, 0 ;

mov bl, 11000000b ;

main_loop:

mov ah, 07h ;

int 21h ; al

cmp al,27 ; esc

je exit ;

cmp al,48 ; 0

jb print ; al<48

cmp al,57 ; 9

ja print ; al>57

mov ah, 9 ; 1

mov cx, 1 ;

int 10h ; BIOS

mov ah, 3 ;

int 10h ; BIOS

mov ah, 2 ;

inc dl ; 1 dl

int 10h ; BIOS

jmp main_loop ;

print:

mov ah, 2 ; 1

mov dl,al ; dl

int 21h ; DOS-,

jmp main_loop ;

exit:

int 20h ;


  1. , :


msg db ' Kursovaya rabota',10,13,'$'

msg1 db ' Sistemnoe Programmnoe Obespechenie',10,13,'$'

msg2 db ' Studenta gruppi ASOI-431',10,13,'$'

msg3 db ' Maksyutova Dilara',10,13,'$'

msg4 db ' Variant 24',10,13,10,13,'$'

dbRazmer db 'Razmer programmi v baitah: $'

msg5 db 10,13,10,13,'Dlya vihoda najmite ESC',10,13,'$'

msg6 db 10,13,'Vvodite:',10,13,'$'

msg7 db ' ',10,13,'$'

dwRazmer dw $+2-100h
CSEG ends ; CSEG

end begin

^

.com , MS-DOS :

Kursovaya rabota

Sistemnoe Programmnoe Obespechenie

Studenta gruppi ASOI-431

Maksyutovoi Dilari

Variant 24

Size on bytes:

Dlya vihoda najmite ESC,

. : , ., , , ESC.


Turbo Assembler v.5.0., com-, , DOS BIOS. , .
^

.

, , .


^


  1. /....-; .: .. , 2008 28 .

  2. . IBM PC /. . .. .; 1991 447 .:.

  3. IBM PC. p ..

  4. .. MS-DOS. - .2, . . - .: , , 1995 2, 382 ., .

  5. .. ? ! . .: -, 2006. - 384 .: .

  6. : . : , 1987 35.

1


:

CSEG segment 'code'
assume CS:CSEG, DS:CSEG

org 100h
begin:

mov ax, 3

int 10h
mov ah, 9

mov dx, offset msg

int 21h

mov dx, offset msg1

int 21h

mov dx, offset msg2

int 21h

mov dx, offset msg3

int 21h

mov dx, offset msg4

int 21h

mov dx,offset dbRazmer

int 21h
mov ax,dwRazmer

mov bx,10

xor cx,cx
stek:

xor dx,dx

div bx

push dx

inc cx

or ax,ax

jnz stek
vivod:

pop ax

or al,30h

int 29h

loop vivod

mov ah, 9

mov dx, offset msg5

int 21h

mov dx, offset msg6

int 21h

mov dx, offset msg7

int 21h

mov bh, 0

mov bl, 11000000b

main_loop:

mov ah, 07h

int 21h

cmp al,27

je exit

cmp al,48

jb print

cmp al,57

ja print

mov ah, 9

mov cx, 1

int 10h

mov ah, 3

int 10h

mov ah, 2

inc dl

int 10h

jmp main_loop

print:

mov ah, 2

mov dl,al

int 21h

jmp main_loop

exit:

int 20h
msg db ' Kursovaya rabota',10,13,'$'

msg1 db ' Sistemnoe Programmnoe Obespechenie',10,13,'$'

msg2 db ' Studenta gruppi ASOI-431',10,13,'$'

msg3 db ' Maksyutova Dilara',10,13,'$'

msg4 db ' Variant 24',10,13,10,13,'$'

dbRazmer db 'Size on bytes: $'

msg5 db 10,13,10,13,'Dlya vihoda najmite ESC',10,13,'$'

msg6 db 10,13,'Vvodite:',10,13,'$'

msg7 db ' ',10,13,'$'

dwRazmer dw $+2-100h
CSEG ends

end begin


Скачать файл (542 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации