assembler

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Новоселецький Василь
Сообщения: 1
Зарегистрирован: 30 июн 2009, 15:31

Хто знає як організовується розгалуження на мові Ассемблер?
mustafa1453
Сообщения: 5
Зарегистрирован: 23 июл 2009, 13:59

Розгалуження - це тобто умовний оператор? Якщо так то можна зробити так:

Код: Выделить всё

CSEG segment
assume CS:CSEG, DS:CSEG, ES:CSEG, SS:CSEG
org 100h
Start:

mov ah,10h
int 16h
cmp al,'F'
jz F_press
mov ah,9
mov dx,offset msg2
int 21h
mov ah,10h
int 16h
int 20h
F_press:
mov ah,9
mov dx,offset msg1
int 21h
mov ah,10h
int 16h
int 20h

msg1 db 'Key is F!$'
msg2 db 'Key is not F!$'

CSEG ends
end Start
Що робить дана програма? Вона жде вводу з клавіатури. Якщо користувач натисне F, то программа видасть повідомлення що натиснута F, в іншому випадку - що вона не натиснута.
Аналог на C:

Код: Выделить всё

#include <conio.h>
#include <stdio.h>

int main()
{
char a;
a=getch();
if(a == 'F')
 printf("You press F");
else
 printf("You don't press F");
getch();
return 0;
}
Ответить