Низкоуровневое системное программирование
скачать (542 kb.)
Доступные файлы (1):
1.doc | 542kb. | 04.12.2011 03:36 | ![]() |
содержание
- Смотрите также:
- Введение. Многоликое программирование [ документ ]
- Архитектура компьютера низкоуровневое программирование [ документ ]
- Системное программирование [ документ ]
- ProcessManager [ документ ]
- Системное программирование [ документ ]
- Факультет компьютерных технологий и прикладной математики Кафедра информационных технологий курсовая работа методы разработки и обучению нейронных сетей средствами [ документ ]
- Системное программное обеспечение (СПО) [ реферат ]
- Классы задач линейного, нелинейного и стохастического программирования. Вариант 3 [ лабораторная работа ]
- Мдк 01. 01. Системное программирование [ документ ]
- Параллельное программирование [ документ ]
- Граничин О.H., Молодцов С.Л. Создание гибридных сверхбыстрых компьютеров и системное программирование [ документ ]
- Бек Л. Введение в системное программирование [ документ ]
1.doc
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: ;
, ( ):
mov ax, 3 ;8025 16-
int 10h ; BIOS
, ():
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-,
;
, .
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 ,
, ():
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-,
, , 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 ;
, :
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. , .
^
, , .
^
/....-; .: .. , 2008 28 .
. IBM PC /. . .. .; 1991 447 .:.
IBM PC. p ..
.. MS-DOS. - .2, . . - .: , , 1995 2, 382 ., .
.. ? ! . .: -, 2006. - 384 .: .
: . : , 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.)