emu8086을 사용하여 화면에서 문자를 바운스 할 때 도움이 필요했습니다. 화면 크기는 (80x25 문자)입니다. 나는 그것을 대각선으로 움직일 수 있었지만 되돌아 오지 않는다. 대신에 그것은 boundry (즉, 24 번째 행)에 도달 한 후 x 축으로 직선으로 간다. 지금까지 내가 한 일이 여기에있다. enter code here
Data_seg s
저는 ALP에서 꽤 새로 왔습니다.이 프로그램을 보면서 나는 불필요한 줄을 발견했고 몇 줄을 바꾸어 간단하게 제거 할 수있었습니다. 단지 add ah, bh하지 왜 DATA SEGMENT
N1 DW 2804H
N2 DW 4213H
BCD_SUM DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE,
그래서 나는 this exact problem을 가졌습니다. 주어진 해결책은 DX인데 제 경우는 이미 있습니다! 내 프로그램은 단순히 16 비트 숫자를 8 비트 숫자로 나눕니다. 내 코드는 다음과 같습니다 data segment
num1 dw 0204h
num2 db 02h
quotient db ?
remainder db ?
data ends
c
나는 내 친구가 자신의 프로그램을 디버깅 할 수 있도록하고, 우리는 심지어 여기에서 발생하는 문제로 좁혀 : TASM 4.1을 조립 한 후 .MODEL small
.STACK 16
.CODE
start:
mov ax, 044c0h
mov bl, 85
idiv bl
exit:
mov ax, 4c00h
int
단일 단어 (2 바이트)를 비교할 때 CMP 명령에 문제가 있습니다. 안녕하세요 다음 밖으로 print_string:
pusha
mov ah, 0x0e
loop:
call print_char
cmp word [bx], 0
jne loop
popa
ret
print_char:
먼저 어셈블리 언어로 초보자이며 현재 마이크로 프로세서를 연구 중입니다. 우리는 몇몇 작은 프로그램을 계획했다. 그러나, 나는 "Basic Encryption Scheme (BES)"라는 프로그램을 연구 중이다. 사용자가 입력 한 문자의 하위 비트를 토글하는 것이다. 그런 다음 1-9에서 입력을 가져 와서 전환 된 문자에 추가하십시오. 마지막으로 인쇄하십시
메신저 프로젝트에서 학교에 근무하고 있습니다. 내 프로젝트는 몇 가지 전자 동작을 포함하는 계산기입니다. 나는 BitMap을 끌어 와서 화면에로드합니다. 일단 입력을 요청하면 모든 것이 올바르게 작동합니다. 입력 아무것도 요구하는 두 번째 메신저에 감사 relevantic 절차를 부착 메신저 `proc ActiveMouse
push ax
xor ax,a