
Последние записи
- Удалить повторы со сложением значений (Microsoft Office Excel)
- Bass регулировка по отдельности левого и правого каналов звука
- Как ускорить замену текста в MEMO?
- Вывод картинки (текстуры) на OpenGL 3.3 и Qt C++ с плавающем диапазоном координат по оси X
- Поиск ячеек определенного цвета (Microsoft Office Excel)
- Конвертирование кодов в символы (URLDecode в Delphi)
- Рекурсивное удаление файлов из папки (CMD)
- Самый быстрый способ прорисовки на компоненте Image
- Эксперименты с генератором фракталов
- Технология производства чая (белый, зелёный, жёлтый, улун, шен, красный, шу)

8th
Июн
TASM — возврат через стек, адрес, регистр
Posted by obzor under assembler
Асм вообще не дается, снизу размещу мои попытки и стартовый код…
Старт:
data segment
string db 80 dup('$'),'$'
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
xor cx,cx
mov ah,01h
inpt: int 21h
cmp al,0dh
je crlf
inc cx
push ax
jmp inpt
crlf: mov ah,02h
mov dl,al
mov dl,0ah
outpt: pop dx
int 21h
loop outpt
QUIT: mov ax, 4c00h
Int 21h
code ends
end START
Мои попытки:
data segment
string db 80 dup('$'),'$'
data ends
code segment
assume cs:code,ds:data
; get string
input proc NEAR
go:
int 21h
cmp al,0dh
je crlf
inc cx
push ax
jmp go
RET ; регистр ax
input endp
; print string
output proc NEAR
pop dx
int 21h
loop output
RET
output endp
;crlf proc NEAR
; mov ah,02h
; RET
;crlf endp
start: mov ax,data
mov ds,ax
xor cx,cx
mov ah,01h
call input
;call crlf
;call output
crlf: mov ah,02h
mov dl,al
mov dl,0ah
QUIT:
call output
mov ax, 4c00h
Int 21h
code ends
end START
возврат значения из процедуры через регистр
Код:
N1 proc
. . . ; какие-то вычисления
mov ax,результат вычислений
retn ; выход из процедуры
N1 endp
возврат значения из процедуры через ячейку в памяти
Код:
N2 proc
. . . ; какие-то вычисления
mov [ячейка в памяти],результат вычислений
retn ; выход из процедуры
N2 endp
возврат значения из процедуры через стек
Код:
N3 proc
. . . ; какие-то вычисления
mov bx,sp
mov ss:[bx+2],результат вычислений
retn ; выход из процедуры
N3 endp
Случайные статьи

пеллетные котлы

Пеллетный котел Emtas

Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)