0

hdd device monitor studio で仮想シリアルポート (COM7 & COM8) にブリッジを作成し、[masm を使用して] 16 ビットアセンブリでデータを送受信したいと考えています。最初に、COM7に文字を送信してこのポートをリッスンするためにこのコードを書きましたが、何も送信されません。別のソフトウェアを使用してデータを送信し、このポートのモニターをテストしました。これはコードです:

.MODEL small
.STACK 100h
.data
.code
_start:
mov ax,@data
mov ds,ax
mov ah, 0           ;Initialize opcode
mov al, 11100011b   ;Parameter data.
mov dx, 6           ;COM7: port.
int 14h
again:
    mov  dx, 6           ;Select COM7:
    mov  al, 'm'        ;Character to transmit
    mov  ah, 1           ;Transmit opcode
    int  14h
    jmp again   
mov ah,1
int 21h
END _start  

私のどこが間違っていますか?

4

1 に答える 1

0

http://cs.smith.edu/~thiebaut/ArtOfAssembly/CH13/CH13-3.html#HEADING3-1

IBM BIOSは、最大4つの異なるシリアル通信ポートをサポートします(ハードウェアは最大8つをサポートします)。一般に、ほとんどのPCには1つまたは2つのシリアルポート(COM1:およびCOM2:)がインストールされています。Int 14hは、初期化、文字の送信、文字の受信、およびステータスの4つのサブ機能をサポートします。4つのサービスすべてについて、シリアルポート番号(0..3の範囲の値)はdxレジスタ(0 = COM1:、1 = COM2:など)にあります。Int 14hは、alまたはaxレジスタ内の他のデータを予期して返します。

をサポートしていませんCOM7/COM6

于 2013-02-16T07:09:10.353 に答える