emnm, ты скажи что тебе и для чего написать то. masm, tasm, fasm, или может 8086, или вообще arm?! Скажи как вводятся значения a и b?! Точнее, короче.
Походу для masm чтобы код выглядел так вот, пример: .386 .model flat, c .data extern a:word extern b:word temp dword? .code public exp_it exp_it PROC --------------; ..... .... ....
Здравя! Возможно ли обращение к usb flash посредством стандартных перериваний BIOS, если да, то каких..? Простите за ламерский вопрос, спасибо!
Тебе в универ/школу надо? Покажи, что вы там делали уже. Покажи любую программу, которую вы делали с преподом или из методички.
Не проверял, но по аналогии если, то так: Code: ;(b-9)/a, если a > b ;b, если a= b ;a/b +3, если a< b .386 .model flat, c .data extern a:word extern b:word .code public exp_it exp_it PROC ;--------------; xor ebx, ebx xor edx, edx ;---------------; mov AX, a mov BX, b cmp AX, BX ;---------------; jg abig ; a>b jl asmol; a<b ;------a=b----; ;22, если a=b; mov ax, 22 cwd ;)))) jmp p_exit ;--- a<b-------; asmol: ;a-9, если a<b; sub ax, 9 cwd jmp p_exit ;------a>b------l abig: ;b/a, если a>b; cmp bx, 0 jz p_error mov ax, b mov bx, a cwd idiv bx jmp p_exit ;--------------------; p_error: xor eax, eax ;--------------------; p_exit: ret exp_it ENDP END
Категорически всех приветствую! Искал в гуглах, на WASM'е но вразумительного так ничего и не нашел... Есть ли у кого код под MASM (а он точно есть) поиска подстроки в строке? Имеем: string db 'дохрененная строка с текстом',0 string1 db 'Искомый_текст',0 на выхлопе получить смешение в байтах до первого вхождения. если есть пример на WinAPI буду очень рад. PS: вроде простая и востребованная функция, но в упор нет нигде её реализации
Идем в папочку masm32/m32lib/instring.asm и вуаля - готовая функция. Реализация, поставляемая прямо в комплекте с masm32. Она же описана в help/masmlib.chm.
а еще можно использовать функцию из библиотеки msvcrt Code: include msvcrt.inc includelib msvcrt.lib .data szString db "Hello World!",0 szToken db "World",0 .code invoke crt_strstr,addr szString,addr szToken в EAX смещение "World" или 0 если не найдено Но говорят это не тру.
mov eax, 0A mov ecx, 3 div ecx пишет integer overflow (я понял из-за чего это). как решить проблему при делении? (хотелось бы чтобы делил без остатка)
Code: xor edx,edx mov eax, 0A mov ecx, 3 div ecx в edx остаток Или использовать вычисления с плавающей точкой Code: .data x real8 10.0 y real8 3.0 .data? z real8 ? res db 20 dup(?) .code start: xor edx,edx finit fld x fdiv y fstp z invoke FloatToStr,z,addr res invoke MessageBox,0,addr res,0,MB_OK invoke ExitProcess,0 end start
начал изучать assembler олега калашникова ассемблер это проста, закачал порограмму(masm 611) и не получается создать первую программу com-фаил. Соэдал test.bat файл. В нем C:\Downloads\assembler\masm\MASM611\BIN\ml.exe test.asm /AT По Калашникову должно получится два файла(test.obj и test.com) Однако после запуска test.bat получил только один test.obj и окно: C:\Downloads\assembler\progmy>C:\Downloads\assembler\masm\MASM611\BIN\ml.exe test.asm /AT Microsoft (R) Macro Assembler Version 6.11 Copyright (C) Microsoft Corp 1981-1993. All rights reserved. Assembling: test.asm fatal error A1020: cannot find link.exe C:\Downloads\assembler\progmy>pause Для продолжения нажмите любую клавишу . . . В чем ошибка?
Code: CSEG segment Begin: mov ah,9 mov dx,offset Message int 21h int 20h Message db 'Hello, world!$' CSEG ends end Begin Скомпилированная TASM прога не работает: сообщение Hello World не выводится (при запуске выводится набор русских букв)