gametechmods
Robot Arena => General Support => Topic started by: Daemon on December 07, 2010, 03:23:20 PM
-
Anyone knows how to write programs on assembler?
-
Please elaborate. Are you talking about Python? What exactly do you want it to do?
-
Please elaborate. Are you talking about Python? What exactly do you want it to do?
No, its smt like his:
.model tiny
.286
.code
org 100h
start: mov ax,3
int 10h; чищу экран
mov ah,9
mov dx,offset string1; выводим приглашение на ввод
int 21h
mov ah,0Ah
mov dx,offset string2; получаем число
int 21h
mov ah,9
mov dx,offset string14; выводим результат на экран
int 21h
mov bh,0
mov bl,string2[2]
sub bl,'0'; из ASCII-кода символа получаю число
shl bx,1; умножаю полученное число на 2
mov dx,string13[bx]; нахожу адрес ответа
mov ah,9
int 21h ; вывожу результат на экран
mov ah,0; ждем пока не нажмут любую клавишу
int 16h
retn; выходим из программы
string1 db 'Введите число от 0 до 9 и нажмите Enter',0Dh,0Ah,"$"
string14 db 0Dh,0Ah,'результат равен $'
string2 db 2,0,?,?,?; буфер для ввода числа
string3 db '0$';0
string4 db '1$';0+1=1
string5 db '3$';0+1+2=3
string6 db '6$';0+1+2+3=6
string7 db '10$';0+1+2+3+4=10
string8 db '15$';0+1+2+3+4+5=15
string9 db '21$';0+1+2+3+4+5+6=21
string10 db '28$';0+1+2+3+4+5+6+7=28
string11 db '36$';0+1+2+3+4+5+6+7+8=36
string12 db '45$';0+1+2+3+4+5+6+7+8+9=45
string13 dw string3,string4,string5,string6,string7; адреса ответов
dw string8,string9,string10,string11,string12
end start
-
Eh... the only people who might have any experience are Serge or apanx, but really I have no idea.
-
Please elaborate. Are you talking about Python? What exactly do you want it to do?
No, its smt like his:
.model tiny
.286
.code
org 100h
start: mov ax,3
int 10h; чищу экран
mov ah,9
mov dx,offset string1; выводим приглашение на ввод
int 21h
mov ah,0Ah
mov dx,offset string2; получаем число
int 21h
mov ah,9
mov dx,offset string14; выводим результат на экран
int 21h
mov bh,0
mov bl,string2[2]
sub bl,'0'; из ASCII-кода символа получаю число
shl bx,1; умножаю полученное число на 2
mov dx,string13[bx]; нахожу адрес ответа
mov ah,9
int 21h ; вывожу результат на экран
mov ah,0; ждем пока не нажмут любую клавишу
int 16h
retn; выходим из программы
string1 db 'Введите число от 0 до 9 и нажмите Enter',0Dh,0Ah,"$"
string14 db 0Dh,0Ah,'результат равен $'
string2 db 2,0,?,?,?; буфер для ввода числа
string3 db '0$';0
string4 db '1$';0+1=1
string5 db '3$';0+1+2=3
string6 db '6$';0+1+2+3=6
string7 db '10$';0+1+2+3+4=10
string8 db '15$';0+1+2+3+4+5=15
string9 db '21$';0+1+2+3+4+5+6=21
string10 db '28$';0+1+2+3+4+5+6+7=28
string11 db '36$';0+1+2+3+4+5+6+7+8=36
string12 db '45$';0+1+2+3+4+5+6+7+8+9=45
string13 dw string3,string4,string5,string6,string7; адреса ответов
dw string8,string9,string10,string11,string12
end start
Holy shit comments in Russian. I do some ASM programming (x86 [Bare Metal, Windows and some Linux] and a little bit of ARM). Why are you writing 16-bit code?
-
Please elaborate. Are you talking about Python? What exactly do you want it to do?
No, its smt like his:
.model tiny
.286
.code
org 100h
start: mov ax,3
int 10h; чищу экран
mov ah,9
mov dx,offset string1; выводим приглашение на ввод
int 21h
mov ah,0Ah
mov dx,offset string2; получаем число
int 21h
mov ah,9
mov dx,offset string14; выводим результат на экран
int 21h
mov bh,0
mov bl,string2[2]
sub bl,'0'; из ASCII-кода символа получаю число
shl bx,1; умножаю полученное число на 2
mov dx,string13[bx]; нахожу адрес ответа
mov ah,9
int 21h ; вывожу результат на экран
mov ah,0; ждем пока не нажмут любую клавишу
int 16h
retn; выходим из программы
string1 db 'Введите число от 0 до 9 и нажмите Enter',0Dh,0Ah,"$"
string14 db 0Dh,0Ah,'результат равен $'
string2 db 2,0,?,?,?; буфер для ввода числа
string3 db '0$';0
string4 db '1$';0+1=1
string5 db '3$';0+1+2=3
string6 db '6$';0+1+2+3=6
string7 db '10$';0+1+2+3+4=10
string8 db '15$';0+1+2+3+4+5=15
string9 db '21$';0+1+2+3+4+5+6=21
string10 db '28$';0+1+2+3+4+5+6+7=28
string11 db '36$';0+1+2+3+4+5+6+7+8=36
string12 db '45$';0+1+2+3+4+5+6+7+8+9=45
string13 dw string3,string4,string5,string6,string7; адреса ответов
dw string8,string9,string10,string11,string12
end start
Holy shit comments in Russian. I do some ASM programming (x86 [Bare Metal, Windows and some Linux] and a little bit of ARM). Why are you writing 16-bit code?
У тебя нету образцов ассемблера?
Просто мне нужно до этого понедельника написать прогу на асме, которая считывает из .com файла машинный код и записывает его в .txt.
напр.:
0100: B409 mov ah, 09
0102: BADE01 mov dx, 01DE
0105: CD21 int 21
0107: B40A mov ah, 0A
0109: BA6301 mov dx, 0163
010C: CD21 int 21
010E: B409 mov ah, 09
0110: BA1102 mov dx, 0211
0113: CD21 int 21
0115: 32ED xor ch, ch
0117: 2BC0 sub ax, ax
0119: 8A0E6401 mov cl, [0164]
011D: BB6501 mov bx, 0165
0120: B241 mov dl, 41
0122: B65A mov dh, 5A
0124: 3A17 cmp dl, [bx]
0126: 7F05 jg 012D
0128: 3A37 cmp dh, [bx]
012A: 7C01 jl 012D
012C: 40 inc ax
012D: 43 inc bx
012E: 49 dec cx
012F: 83F900 cmp cx, 00
0132: 7FF0 jg 0124
0134: B20A mov dl, 0A
0136: F6F2 div dl
0138: 88261002 mov [0210], ah
013C: 8006100230 add byte ptr [0210], 30
Проблема в том, что я просто не успеваю, так как разные контр. каждый день.
P.S. в каком универе учат прорамировать под линукс на асме?)
-
Wow, this doesn't mean I understand Russian very well (I do some, though). I'll take a look at the program later, though - have other stuff to do right now. I have some sample Win32 assembly code on my netbook, will upload them later.