몇 가지 코드 언어로 작업을 중단 한 지 얼마되지 않아 며칠 전 학교에서 어셈블리로 시작 했으므로 몇 가지 코드 작업에 대한 논리를 이해하기 시작했습니다. 사실, 내가 시도한 것은 두 변수 간의 간단한 ADD 연산입니다. 내 코드를 에뮬레이션하기 위해 emu8086을 사용합니다. 왜 내가 이해할 수 없는지 보여 드리겠습니다. 난 그냥 8 비트에 세 개의 변
배열을 내림차순으로 정렬 한 다음, 8086emu를 사용하여 테스트했으며 100 % 작동했지만 Visual Studio에서 잘못된 결과와 오류가 발생했습니다. 모든 아이디어 또는이 문제를 해결하는 방법. 내 코드 : - #include "stdafx.h"
#include <iostream>
using namespace std;
void main(v
먼저 어셈블리 언어로 초보자이며 현재 마이크로 프로세서를 연구 중입니다. 우리는 몇몇 작은 프로그램을 계획했다. 그러나, 나는 "Basic Encryption Scheme (BES)"라는 프로그램을 연구 중이다. 사용자가 입력 한 문자의 하위 비트를 토글하는 것이다. 그런 다음 1-9에서 입력을 가져 와서 전환 된 문자에 추가하십시오. 마지막으로 인쇄하십시
나는 카드의 갑판에서 에이스의 "그림"을 배경 색상과 기호를 사용하여 슈트를 표현하고 있습니다. 나는 카드의 왼쪽 상단 구석에 "A"를 인쇄 할 수 있었지만, 나는 우하 구석에 대해 거꾸로 된 "A"(∀)를 인쇄하는 방법을 잘 모른다. emu8086에서 가능합니까? 나는 어셈블리와 8086에서 다소 초보자입니다. 유니 코드 문자 인쇄와 관련하여 비슷한 질문
다음 코드는 2 개의 1 차원 행렬을 더하고 합계를 표시합니다. 프로그램이 두 번째 행렬에 대한 입력을 받으면 문제가 발생합니다. rd_next 루프가 끝나지 않습니다. 그러나 그것은 첫 번째 행렬에 대한 입력을 잘 받아들입니다. data_seg segment
mat1 dw 3 dup(?)
mat2 dw 3 dup(?)
n db 3
ten dw 10
emu8086을 사용하고 있습니다. 나는 "나는 라디오"를 듣지 않는다 "와 같은 문자열을 정의하려고합니다. 나는 다음 중 하나를 사용하는 경우 : mystr db "I don't ""listen"" to radio"
mystr db 'I don"t "listen" to radio'
및 mystr를 인쇄하려고, 그것은 각각 다음 중 하나를 인쇄
저는 emu8086에서 초보자입니다. 수정이 불가능한이 코드에 문제가 있습니다. 10 진수에서 2 진수로 변환해야 할 때가 있습니다. 예를 들어, 4,8,15,16,255와 같은 숫자를 사용하면 모든 것이 잘됩니다. 그러나 예를 들어 2,9,17,254를 사용하면 올바른 숫자가 표시되지 않습니다. 이 일에 정말로 도움이 필요해. .model small
조립 프로그램에 문제가 있습니다. 2 개의 배열 (길이가 9 인)에 저장된 모든 데이터의 곱셈을 컴퓨터에 요구하고 그 결과를 9x9 행렬에 저장해야합니다. 다음은 내가 작성한 코드이지만 6 번째 사이클까지 작동합니다 ... MOV AL, LIST [DI] 명령은 마술처럼 ADD가되고 결국 "unknown opcode skipped : 63 not 8086
저는 어셈블리가 처음이고 메모리에 저장된 문자열을 반복하려고합니다. lea (실효 주소로드) 명령을 사용하여 문자열의 주소를 가져올 수 있지만 이제 레지스터에 저장된 해당 주소를 사용하려고합니다. lea string, %edx ; Load effective address of string into edx
lw %edx, %eax ; Load eax w
emu8086을 사용하여 화면에서 문자를 바운스 할 때 도움이 필요했습니다. 화면 크기는 (80x25 문자)입니다. 나는 그것을 대각선으로 움직일 수 있었지만 되돌아 오지 않는다. 대신에 그것은 boundry (즉, 24 번째 행)에 도달 한 후 x 축으로 직선으로 간다. 지금까지 내가 한 일이 여기에있다. enter code here
Data_seg s