|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Assm - Народ, кто шарит в assembler[e]? Please help me write two subprograms... |
|
Assm - Народ, кто шарит в assembler[e]? Please help me write two subprograms...
|
Пользователь Сообщения: 82 |
Профиль | Отправить PM | Цитировать Народ, помогите пожалуйста написать пару процедурок на ассемблере (для DOS):
1) Вывести содержимое регистра AX на экран. 2) Читает с клавы число и записывает его в регистр AX. |
|
------- Отправлено: 00:35, 16-11-2004 |
Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать warezhka84
В какой системе счисления? |
------- Отправлено: 20:26, 17-11-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 82
|
Профиль | Отправить PM | Цитировать В десятичной (можно конечно и в шестнадцатиричной...но лучше все таки в decimal[е])
|
------- Отправлено: 20:31, 17-11-2004 | #3 |
Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать ОК! В пятницу отошлю на ящик.
|
------- Отправлено: 18:18, 18-11-2004 | #4 |
Старожил Сообщения: 240
|
Профиль | Отправить PM | Цитировать warezhka84
Ссылка на E-mail недоступна, кладу здесь. .286 .model large .code inbuffer db 10,0 db 10 dup(?) outbuffer db ' ' ;;; <- здесь не видно, но пробелов 9 штук outtail db '$' signed dw 0 ten dw 10 ;;; ;;; Получить в AX число. ;;; public get_in_AX get_in_AX proc push ax push bp mov bp,sp push si push bx push cx push ds push cs pop ds lea dx,inbuffer mov ah,0Ah int 21h xor cx,cx mov cl,inbuffer+1 jcxz gAXerr lea si,inbuffer+2 xor bx,bx mov signed,bx gAXloop: lodsb cmp al,'+' je @1 cmp al,'-' jne @2 mov signed,1 @1: cmp si,offset inbuffer+3 jne gAXerr @2: cmp al,'0' jb gAXerr cmp al,'9' ja gAXerr xor ah,ah sub ax,'0' xchg ax,bx mul ten add ax,bx js gAXerr xchg ax,bx loop gAXloop jmp short gAXok gAXerr: stc jmp short gAXdone gAXok: mov ax,signed test ax,ax je @3 neg bx @3: mov [bp+2],bx clc gAXdone: pop cx pop bx pop si pop ds pop bp pop ax ret get_in_AX endp ;;; ;;; Вывести число из AX на экран*. ;;; public print_AX print_AX proc std mov signed,0 test ax,8000h je @4 mov signed,1 neg ax @4: push di lea di,outtail-1 push cs pop es @7: test ax,ax je @5 xor dx,dx div ten xchg ax,dx add al,'0' stosb xchg ax,dx jmp short @7 @5: cmp di,offset outtail-1 jne @6 add al,'0' stosb @6: mov ax,signed test ax,ax jne @8 mov al,'-' stosb @8: push ds push cs pop ds mov dx,di mov ah,09h int 21h pop ds pop di cld ret print_AX endp end |
|
------- Отправлено: 19:54, 19-11-2004 | #5 |
Пользователь Сообщения: 82
|
Профиль | Отправить PM | Цитировать Огромное спасибо.... хотя я и сам почти догнал тут до решения
|
------- Отправлено: 21:25, 25-11-2004 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Тюнер - [решено] Народ кто связан с AverMedia(tv tuner) Нужен DRVCFG (серийник продукта!) | Noobser | Прочее железо | 7 | 10-02-2009 01:00 | |
.NET - IHTMLDocument2::write(code), открывает IE. Почему? | Jorik_85 | Программирование и базы данных | 2 | 20-01-2009 13:28 | |
Службы - EWF: Enhanced Write Filter | menket | Microsoft Windows 2000/XP | 4 | 07-06-2008 09:21 | |
Event log. (Write access) | minion | Microsoft Windows NT/2000/2003 | 7 | 21-03-2008 11:13 | |
No write access to $HOME directory (/) | ZAISMIT | Общий по Linux | 9 | 03-02-2005 23:36 |
|