Мне нужно использовать язык ассемблера 8086 для подключения к Arduino в моем задании. Когда я запускаю программу сборки, звучит зуммер. Я запускаю программу сборки с помощью DOSBox.
int buzzer = 11;
int val;
void setup() {
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
val = Serial.read();
if(-1 != val) {
if('H' == val) {
unsigned char i;
for(i = 0; i < 80; i++) {
digitalWrite(buzzer, HIGH);
delay(1);
digitalWrite(buzzer, LOW);
delay(1);
}
for(i = 0; i < 100; i++) {
digitalWrite(buzzer, HIGH);
delay(2);
digitalWrite(buzzer, LOW);
delay(2);
}
}
}
}
Выше мой код Arduino. Когда COM1 получает «H», звучит зуммер.
.MODEL SMALL
.STACK 64
.DATA
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV AH,00
MOV AL,11101011b
MOV DX,00
MOV AH,1
MOV AL,'H'
MOV DX,00
INT 14H
MOV AX,4C00H
INT 21H
MAIN ENDP
END MAIN
Выше мой ассемблерный код. Когда я запускаю ассемблерный код, он должен отправить «H» на COM1, и прозвучит зуммер. Однако ничего не происходит, когда я запускаю программу сборки. В чем проблема?