어셈블리 언어: 문자열 대소문자 변환과 문자열 결합 (추가 데이터 세그먼트에 넣기)
3943 단어 어셈블리 언어
data segment
string1 db "I love cHINA" ;
string2 db "I love cHINA" ;
ends
esdata segment
string3 db 24 dup(0) ;
ends
assume cs:code,ds:data,es:esdata
code segment
start:
mov ax, data
mov ds, ax
mov ax,esdata
mov es,ax
mov si, 0 ;ds:si
mov cx,12 ;
call capital
mov si,offset string1 ;
mov bx,offset string2
mov di,offset string3
mov cx,12 ; string1 string3
loop1: mov al,[si]
mov es:[di],al
inc si
inc di
loop loop1
mov cx,12 ; string2 string3
loop2: mov al,[bx]
mov es:[di],al
inc bx
inc di
loop loop2
mov ax,4c00h
int 21h
capital: and byte ptr ds:[si],11011111b ;
or byte ptr ds:[si+12],00100000b ;
inc si
loop capital
ret
code ends
end start
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Arduino] 바이너리 파일을 Arduino에 쓰는 방법또, 전회와 같이 avrdude라고 하는 툴을 사용하므로 도입이 아직의 분도 처음에 참조해 주세요. · ArduinoUno : 바이너리를 빼내는 쪽 ・ArduinoIDE 1.8.13에 부속되는 avrdude (avr...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.