Jjkjk

  • 04 окт. 2011 г.
  • 1376 Слова
DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
Message DB 'Привет!',13,10,'$'
.CODE
mov ax,@Data
mov dx,ax ; установить регистр DS таким
; образом, чтобы он указывал
; на сегмент данных
mov ah,9 ; функция DOS вывода строки
mov dx,OFFSET Message ;ссылка на сообщение "Привет!"
int 21h ; вывести "Привет!" на экран
mov ah,4ch ; функция DOS завершения
; программы
int 21h ; завершить программу
END
//--------------------------------------------------------------------------------------------------------------------------------------DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
TimePrompt DB 'Это время после полудня? (ДА/НЕТ) - [Y/N]$'
GoodMorningMessage LABEL BYTE
DB 13,10,'Доброе утро!',13,10,'$'
GoodAfternoonMessage LABEL BYTE
DB 13,10,'Здравствуйте!',13.10,'$'
.CODE
mov ax,@Data
mov dx,ax ; установитьрегистр DS таким
; образом, чтобы он указывал
; на сегмент данных
mov dx,OFFSET TimePrompt ; ссылка на сообщение-запрос
mov ah,9 ; функция DOS вывода строки
int 21h ; получить ответ из одного
; символа
cmp al,'Y' ;указано время после полудня
; (прописная буква Y)
jz IsAfternoon ; да, время указано после
; полудня
cmp al,'y' ; указано время после полудня
; (строчная буква y)
jnz IsMorning ; нет, время указано до
; полудняIsAfternoon:
mov dx,OFFSET GoodAfternoonMessage ; указывает на
; приветствие "Здравствуйте"
jmp DisplayGreeting
IsMorning:
mov dx,OFFSET GoodMorningMessage ; указывает на
; приветствие "Доброе утро"
DisplayGreeting:
mov ah,9 ; функция DOS вывода сообщенияint 21h ; вывести соответствующее
; сообщение
mov ah,4ch ; функция DOS завершения
; программы
int 21h ; завершить программу
END

Регистр AX
-----------------------------------------------------------------

Регистр AX называют такженакопителем (аккумулятором). Этот
регистр всегда используется в операциях умножения или деления и
является также одним из тех регистров, который можно использовать
для наиболее эффективных операций (арифметических, логических или
операций перемещения данных).

Младшие 8 бит регистра AX называются также регистром AL, а
старшие 8 бит - регистром AH. Это может оказаться удобным при ра-
боте сданными размером в байт. Таким образом, регистр AX можно
использовать, как два отдельных регистра. В следующем фрагменте
программы регистр AH устанавливается в значение 0, это значение
копируется в AL и затем в регистр AL добавляется 1.

.
.
.
mov ah,0
mov al,ah
inc al.
.
.

В результате в регистре AX будет записано значение 1. Ре-
гистры BX, CX и DX могут аналогичным образом использоваться либо
как один 16-разрядный регистр, либо как два 8-разрядных.

Регистр BX
-----------------------------------------------------------------

Регистр BX может...
tracking img