나는 어셈블러를 배우려고하고 세 개의 동일한 값을 가진 ar을 정의하는 간단한 프로그램을 작성했습니다. 두 번째 vaule을 집주인 eax에 복사하려고합니다. 코드 mov eax, [arr]을 사용하면 첫 번째 값에 대해 컴파일되고 결과가 Ah 레지스터에 저장됩니다. 그러나 배열의 두 번째 값을 레지스터 eax으로 복사하려고 시도하면 작동하지 않습니다. m
방금 최근에 어셈블리를 시작 했으므로 분명히 초보자입니다. 매우 간단하고 기본적인 프로그램을 작성하고 있었고 방금 이상한 것을 발견했습니다. 진 진입 점에서 111로 끝나는 테이블의 숫자의 수를 제공하는 프로그램 : #include <iostream>
#include <cstdlib>
extern "C" auto _start(void *, void
이 코드에서는 _을 배열에 삽입하려고하는데이 코드의 문제점을 잘 모릅니다. _이 배열에 삽입 될 때 막히게 될 것 같습니다. 코드를 구현하거나 수정하는 더 좋은 방법이 있습니까? 당신이 그런 식으로 초기화하기 때문에 루프를 시작하기 전에 .data
strUnderscore BYTE 20 DUP (?) ;the array
.code
mov ECX,
2 개의 숫자를 사용자 입력으로 사용하여 순열을 찾는 프로그램을 만들려고합니다. 나는 순열이 어떻게 작동하는지 이해하지만, 나는 Assembly에 익숙하지 않으며 순열을 계산할 수있는 루프를 설정하는 방법을 알 수 없다. 이것은 내가 지금까지 .586
.MODEL FLAT
EXTRN _printf:PROC
EXTRN _scanf:PROC
.STACK
저는 날짜 목록을 정렬 한 다음 가장 오래된 날짜부터 가장 오래된 날짜까지 정렬 한 어셈블리 프로그램을 작성했습니다. 날짜는 DD-MMM-YYYY 형식으로되어 있습니다 (예 : "23-JUL-2010". 나는 꾸준한 진전을 보였으 나, 지금은 내 프로그램이 곧바로 작동을 멈추고, 이유를 찾는 데 어려움을 겪고있다. MASM32 편집기를 사용하고 있습니다.
메신저하지만이 코드를 대각선으로 알파벳 순서로 완벽하게 인쇄 할 수 없습니다.이 코드로 나를 도울 수 있습니까? program output screenshot .model small
.stack
.code
start:
mov cx,26
mov bh,00
mov ah,02h
mov dl,41h
mov dh,02h
again:
int 1
저는 어셈블리 언어의 초보자이며 솔루션을 빨리 찾아야합니다. 문제는 사람 (3 자리)에서 숫자를 읽고이를 정수로 변환하여 두 값과 비교해야한다는 것입니다. 문제는 비교를 변환 한 후 가끔 결과가 정확하지 않은 경우가 있다는 것입니다. 올바르게 입력을 해석하지 있기 때문에 pile segment para stack 'pile'
db 256 dup (
나는 프로젝트를 진행하고 있는데, 현재 나의 라인 중 하나에 액세스 위반을 얻고있다. 나는 잘못에 대한 두 번째 의견을 얻을 수 있는지 궁금합니다. 다음은 내 코드입니다 (참고로 런타임 중에 오류가 발생하지만 빌드는 수행합니다.) : .data
BlueTextOnGray = blue + (lightGray * 16)
DefaultColor = light
A = {1,2,3,4}와 B = {2,3,4,5}가 두 개의 배열이라고 가정합니다. 루프를 사용하여 어떻게 초기화 할 수 있습니까? 그리고 어떻게 이들 배열의 해당 요소를 추가하고 루프를 사용하여 3 번째 배열에 저장할 수 있습니까? 내 어셈블러는 masm615입니다. include irvine32.inc
.data
word ayyay1 5 dup
나는 무작위로 20 개의 RANDOM 문자 20 줄을 화면에 무작위로 인쇄해야하는 숙제를하고 있습니다. 나는 어셈블리 언어에 극히 익숙하며 ECx가 20으로 설정되어 매번 감소 할지라도 내 루프가 끝나지 않는 이유를 이해하지 못한다. 현재 화면에서는 임의 문자가 올바르게 인쇄되지만 인쇄는 중단되지 않습니다. 내 코드는 다음과 같다 : 당신은 재설정 계속 I