Помогите написать программу на ассемблере "Hello world" и прокоментировать каждую строчку!!!
Бендер же тебе с комментариями писал
.model small
.stack 100h
.data
message db "Hello, world!",0dh,0ah,'$'
.code
main proc
mov ax,@data
mov ds,ax ; установка сегмента данных
mov ah,9 ;номер функции вывода на экран в ah
mov dx,offset message ; смещение в dx
int 21h ; ввзов прерывания
mov ax,4C00h ;завершение программы
int 21h
main endp
end main
Итак, приведем самую простую программу на FASM, которая выводит сообщение Fuck you, Windows . ... invoke MessageBox,HWND DESKTOP, Fuck you, Windows , Minimal2 ,MB OK выводит Message Box с текстом Fuck you, Windows ...
Assembler i8086, MS-DOS, fasm
use16
org 100h
mov ah,09h
mov dx,msg
int 21h
mov ax,4C00h
int 21h
msg db 'Hello, World!$'
Assembler i8086, MS-DOS, masm
.model tiny
.code
org 100h
Start:
mov ah, 9
mov dx, offset msg
int 21h
mov ax, 4C00H
int 21h
msg db 'Hello, world$'
end Start
TASM/ строка
Задача простая а кода много.
А что так сложно с выводом?
OUTCH в fasm нету?
Для более гибкого управления процессом вывода текста на экран предназначены функции BIOS, входящие в группу video Services int 10h и выполняющие следующие действия
"сравнение и замена символов не даются"
1 берём символ, запоминаем его, выводим его в выходной буфер (или на экран) .
2 если следующий символ равен запомненному, то проскакиваем и его и идём опять на 2, иначе идём на 1