Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Programmation  Plateforme  Compilateur  Outils  Emulateur  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les remarques
Les opérateurs
Les instructions conditionnelles
Les instructions de boucles
Type de données élémentaire
Référence des registres
Mode d'adressage du processeur
Structure de données
Référence des instructions par catégories
Référence, lexique et dictionnaire des instructions 80x86
Les symboles prédéfinies
Les directives
Mode 8080
Mode réel
Mode protégé
Mode virtuel 8086
Mode SMM
Format du descripteur de segment
Format du TSS
Format du SMM
Format BCD
Format des nombres réels
8086/8088
Série NEC V20/V30
80286
80386
Pentium
Pentium Pro
AVX-512
MMX (MultiMedia eXtensions)
MPX (Memory Protection Extensions)
SGX (Software Guard Extensions)
SHA extensions
SMX (Safer Mode Extensions)
SSE (Streaming SIMD Extensions)
SSE2 (Streaming SIMD Extensions 2)
SSE3 (Streaming SIMD Extensions 3)
SSSE3 (Supplemental Streaming SIMD Extensions 3)
SSE4.1 (Streaming SIMD Extensions 4.1)
SSE4.2 (Streaming SIMD Extensions 4.2)
TSX (Transactional Synchronization Extensions)
VMX (Virtual-Machine eXtensions)
x86-64
Les boucles
Les chaînes
les comparaisons
Les conversions
Les décalages de bits
Les drapeaux
Les opérateurs
Saut conditionnel
Saut inconditionnel
Les transferts de données
Utilisation de la pile
Accès mémoire
Ensemble d'instructions pour les applications 80386
BIOS compatible au micro-ordinateur IBM PC
Démarrage du système
Détermination de la version du BIOS
Détermination du type de PC
Fonctions de sortie de l'écran du BIOS
Détermination de la configuration du système à l'aide du BIOS
Détermination de la RAM disponible à l'aide du BIOS
Accéder à la disquette depuis le BIOS
Accéder au disque dur depuis le BIOS
Accéder au port série depuis le BIOS
L'interruption de la cassette
Accéder au clavier depuis le BIOS
Accéder à l'imprimante à partir du BIOS
Lecture de la date et de l'heure à partir du BIOS
Variables du BIOS
Bonjour
Application
Détection
Mathématique
Temps
Stationnement de voiture
BIOS SCSI
CMOS de XT
DesqView
Valeur absolue (ABS)
Triangle Pascal
Année bissextile
DOS
GeoWorks
86-DOS
MS-DOS 2
MS-DOS 6
A86
LZASM
MASM
NASM
TASM
CodeView
Free Hex Editor Neo
OllyDbg
SoftICE
Turbo Debugger
DOSBox
emu8086
PCE - PC Emulator
PCem
Interruptions
Port d'entrée/sortie
RAM de l'IBM PC
Téléchargement
00h à 07h: Processeur
08h à 0Fh: Périphériques (IRQ0 à IRQ7)
10h: Gestionnaire vidéo
13h: Accès aux disques
14h: Gestion des ports séries
15h: Extension d'Entrée/Sortie
16h: Gestion du clavier
17h: Gestion de l'imprimante
21h: Service DOS
2Ah: Interface de service réseau
2Fh: Multiplexe
33h: Interface du pilote de souris
59h: GSS Computer Graphics Interface
5Ch: Réseau BIOS (NetBIOS)
67h: Gestionnaire EMM/EMS
00h: Mode vidéo
01h: Sélection du type de curseur
10h, F0h: Tseng Labs HiColor
4Fh: Pilote VESA
5Fh: Realtek RTVGA
6Fh: Video 7
18h: Demande des informations SCSI
01h: Écrit dans la RAM non-volatile (Amstrad PC1512)
02h: Lecture dans la RAM non-volatile (Amstrad PC1512)
10h: Gestionnaire principal TopView
89h: Entrée en mode protégé
64h: OS/2 API DOS32StartSession
FFh, 92h: Détecte la présence du pilote «PREDIR.EXE»
16h: Windows & DPMI
0Ah: Détection de Windows
84h: Demande le point d'entrée
86h: Détection du mode DPMI
87h: Détecte l'installation DPMI
8Eh: Machine virtuel et application
Préface
Notes légal
Dictionnaire
Recherche
Port d'entrée/sortie 80x86

0022h/0023h

Ensemble de puce, Cyrix, Intel 82351, 82359,... Chip Set Selection

Description

Les ports d'Entrée/Sortie 0022h et 0023h sont reliés au spécification de chacun des fabricants, le port 0022h donne accès à un registre, tandis que le 0023h est attribué à une commande de lecture ou d'écriture. Voici donc leur rôle:

Registre Nom Description Prérequis
00h DRAM memory array Ce registre permet de demander la ligne 1 de type et population du tableau de mémoire DRAM. Ensemble de puce Intel 82359.
01h DRAM memory array Ce registre permet de demander la ligne 2 de type et population du tableau de mémoire DRAM. Ensemble de puce Intel 82359.
02h DRAM memory array Ce registre permet de demander la ligne 3 de type et population du tableau de mémoire DRAM. Ensemble de puce Intel 82359.
03h DRAM memory array Ce registre permet de demander la ligne 4 de type et population du tableau de mémoire DRAM. Ensemble de puce Intel 82359.
04h DRAM speed/select Ce registre permet de sélectionner la vitesse et de détecter la vitesse de la DRAM. Ensemble de puce Intel 82359.
80h Faulty DRAM Relocation Address Ce registre permet de gérer le registre utilitaire de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C325.
81h Programmable I/O Setup #0 Ce registre permet de programmer les ajustements d'entrée/sortie du #0 de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C325.
82h Programmable I/O Decode #0 Ce registre permet de programmer le décodeur d'entrée/sortie du #0 de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C325.
83h Programmable I/O Setup #1 Ce registre permet de programmer les ajustements d'entrée/sortie du #1 de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C325.
84h Programmable I/O Decode #1 Ce registre permet de programmer le décodeur d'entrée/sortie du #1 de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C325.
85h Programmable I/O Setup #2 Ce registre permet de programmer les ajustements d'entrée/sortie du #2 de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C325.
86h Programmable I/O Decode #2 Ce registre permet de programmer le décodeur d'entrée/sortie du #2 de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C325.
87h Upper System ID Byte Ce registre permet de gérer l'octet identification du haut système de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C325.
8Dh Version Register Ce registre permet de demander le numéro de la version de l'ensemble de puce 82C321 de Chip&Technologies: Ensemble de puce 82C321.
Bit Description
0 à 1 Ces bits permettent de demander le numéro de version du 82C321. La valeur 00b permet d'indiquer la version initiale.
2 à 7 Ces bits sont réservés.
8Eh System Speed Select Ce registre permet de gérer la vitesse du système de l'ensemble de puce 82C321 de Chip&Technologies. Ensemble de puce 82C321.
Bit Description
0 à 1 Ces bits permettent de demander ou de changer la vitesse du microprocesseur.
Valeur Description
00b Cette valeur permet de cadencé le microprocesseur à 16 Mhz.
01b Cette valeur permet de cadencé le microprocesseur à 20 Mhz.
10b Cette valeur permet de cadencé le microprocesseur à 25 Mhz.
11b Cette valeur est réservé.
2 à 3 Ces bits sont réservés.
4 Ce bit permet d'indiquer si un coprocesseur mathématique est installé:
Valeur Description
0b Cette valeur permet d'indiquer qu'il n'y a pas de coprocesseur d'installé.
1b Cette valeur permet d'indiquer qu'il y a un coprocesseur d'installé.
5 Ce bit permet d'indiquer si le coprocesseur mathématique est prêt:
Valeur Description
0b Cette valeur permet d'indiquer que le coprocesseur doit indiquer qu'il est prêt.
1b Cette valeur permet d'indiquer que le coprocesseur est prêt à utilisé.
6 Ce bit permet d'indiquer d'activer le signal de délai d'un simple «-AF32» qu'utilise le microprocesseur lorsque son horloge est cadencé à 20 ou 25 Mhz:
Valeur Description
0b Cette valeur permet d'indiquer qu'il est désactivé.
1b Cette valeur permet d'indiquer qu'il est activé. Valeur par défaut.
7 Ce bit est réservé.
8Fh System Option Select Ce registre permet de gérer le registre d'option système de l'ensemble de puce 82C321 de Chip&Technologies. Ensemble de puce 82C321.
Bit Description
0 Ce bit permet d'indiquer s'il faut effectuer une correspondance de cycle d'horloge. Lorsqu'il y a correspondance, à 16 Mhz, il y a un cycle de 250 nanosecondes, à 20 Mhz, il y a un cycle de 240 nanosecondes et lorsqu'il est à 25 Mhz, il y a un cycle de 240 nanosecondes. Voici les valeurs possibles:
Valeur Description
0b Cette valeur permet d'indiquer que la correspondance est désactivé.
1b Cette valeur permet d'indiquer que la correspondance est activé. C'est la valeur par défaut.
1 Ce bit permet d'indiquer d'activer ou désactiver le cycle rapide de la carte vidéo VGA:
Valeur Description
0b Cette valeur permet d'indiquer que le cycle rapide VGA est désactivé.
1b Cette valeur permet d'indiquer que le cycle rapide VGA est activé.
2 Ce bit permet d'indiquer d'activer ou désactiver le signal de données prête étendue ou de délai d'attente:
Valeur Description
0b Cette valeur permet d'indiquer que le délai d'attente est désactivé.
1b Cette valeur permet d'indiquer que le délai d'attente est activé. C'est la valeur par défaut.
3 à 7 Ces bits sont réservés.
B4h Version and Memory Enable Ce registre permet de demander la version et d'activer la mémoire à l'aide de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
B5h ROM Configuration Ce registre permet de gérer la configuration de la ROM à l'aide de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
B6h Memory Enable Register 1 Ce registre permet de gérer le registre 1 d'activation de la mémoire à l'aide de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
B7h Memory Enable Register 2 Ce registre permet de gérer le registre 2 d'activation de la mémoire à l'aide de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
B8h Reserved Register Ce registre est réservé sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
B9h Memory Type Ce registre permet de gérer le type de mémoire à l'aide de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
BAh Operating Mode Ce registre permet de gérer le mode d'opération de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
BBh Timing Control Ce registre permet de gérer le contrôle de minuterie de l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
BCh EMS Base Address Ce registre permet de gérer l'adresse de base qu'utilise la mémoire EMS sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
BDh EMS Address Extension 1 Ce registre permet de gérer l'extension 1 d'adresse qu'utilise la mémoire EMS sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
BEh EMS Address Extension 2 Ce registre permet de gérer l'extension 1 d'adresse qu'utilise la mémoire EMS sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
BFh EMS Rang Address Register Ce registre permet de gérer le registre de rang d'adressage qu'utilise la mémoire EMS sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
C0h Faulty DRAM Address Extension 1 Ce registre permet de gérer l'exception d'extension 1 de l'adresse de DRAM sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
C1h Faulty DRAM Address Extension 2 Ce registre permet de gérer l'exception d'extension 2 de l'adresse de la mémoire DRAM sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
C2h Faulty DRAM Base Address 1 Ce registre permet de gérer l'exception de l'adresse de base 1 de la mémoire DRAM sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
C3h Config CCR3 Cyrix Ce registre permet de contrôler la configuration du registre CCR3. Microprocesseur Cyrix
Faulty DRAM Base Address 2 Ce registre permet de gérer l'exception de l'adresse de base 2 de la mémoire DRAM sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
Serial configuration A Ce registre permet de contrôler la configuration du port série. Ensemble de puce Intel 82351
C4h Faulty DRAM Base Address 3 Ce registre permet de gérer l'exception de l'adresse de base 3 de la mémoire DRAM sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
C5h Faulty DRAM Base Address 4 Ce registre permet de gérer l'exception de l'adresse de base 4 de la mémoire DRAM sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
C6h Faulty DRAM Relocation Address Ce registre permet de gérer l'exception d'erreur de relocalisation d'adresse de la mémoire DRAM sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
E0h Split Ram Address Register Ce registre permet de gérer le registre découpant les adresses de mémoire RAM sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
E1h Split Enable Register Ce registre permet de gérer l'activation du registre de découpage sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
E2h Channel Recovery Register (A30-A24) Ce registre permet de gérer le registre de canal de récupération de la ligne d'adressage 24 à 30 sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
E3h Channel Recovery Register (A23-A16) Ce registre permet de gérer le registre de canal de récupération de la ligne d'adressage 16 à 23 sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
E4h Channel Recovery Register (A8-A15) Ce registre permet de gérer le registre de canal de récupération de la ligne d'adressage 8 à 15 sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
E5h Channel Recovery Register (A2-A7) Ce registre permet de gérer le registre de canal de récupération de la ligne d'adressage 2 à 7 sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
E6h Channel Recovery Register (ARB13-10) Ce registre permet de gérer le registre de canal de récupération de la ligne ARB 10 à 13 sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
E7h Channel Recovery Register (D/C) Ce registre permet de gérer le registre de canal de récupération D/C sous l'ensemble de puce 82C322 de Chip&Technologies. Ensemble de puce 82C322.
FEh Get Cyrix ID Ce registre permet de demander le type de microprocesseur de type Cyrix installé dans la machine. Voici les valeurs possibles retourner par le port 0023h: Microprocesseur Cyrix
Valeur Description
00h Cx486 SLC
01h Cx486 DLC
02h Cx486 SLC2
03h Cx486 DLC2
04h Cx486 SRx (mise-à-jour du Cx486SLC)
05h Cx486 DRx (mise-à-jour du Cx486DLC)
06h Cx486 SRx2 (mise-à-jour du 2x Cx486SLC)
07h Cx486 DRx2 (mise-à-jour du 2x Cx486DLC)
10h Cx486S
11h Cx486S2
12h Cx486Se
13h Cx486S2e
1Ah Cx486DX
1Bh Cx486DX2
1Fh Cx486DX4
28h 5x86 1xs
29h 5x86 2xs
2Ah 5x86 1xp
2Bh 5x86 2xp
2Ch 5x86 4xs
2Dh 5x86 3xs
2Eh 5x86 4xp
2Fh 5x86 3xp
30h 6x86 1xs
31h 6x86 2xs
32h 6x86 1xp
33h 6x86 2xp
34h 6x86 4xs
35h 6x86 3xs
36h 6x86 4xp
37h 6x86 3xp
40h GxM 4x0
41h MediaGX x1/GxM 6x0
42h GxM 4x1
43h GxM 6x1
44h MediaGX 4xs/GxM 7x0
45h MediaGX 3xs/GxM 8x0
46h MediaGX 4xp/GxM 7x1
47h MediaGX 3xp/GxM 5x1
50h 6x86MX s base 1x
51h 6x86MX 2xs
52h 6x86MX 2.5xs
53h 6x86MX 3xs
54h 6x86MX 3.5xs
55h 6x86MX 4xs
56h 6x86MX 4.5xs
57h 6x86MX 5xs
58h 6x86MX p base 1x/1xp
59h 6x86MX 2xp
5Ah 6x86MX 2.5xp
5Bh 6x86MX 3xp
5Ch 6x86MX 3.5xp
5Dh 6x86MX 4xp
5Eh 6x86MX 4.5xp
5Fh 6x86MX 5xp

Voir également

Index des entreprises - Cyrix
Langage de programmation - Turbo Pascal - Turbo Pascal et Assembleur - Microprocesseur Cyrix

Références

Chips and Technologies, Inc, Chips/280, 9 août 1989, CPI022.1/8-89 REV 1.0, page 15 à 16 et 31, (site externe)
The Undocumented PC: A programmer's Guide to I/O, CPUs, and Fixed Memory Areas - Second Edition, Edition Addison-Wesley, Frank van Gilluwe, 1997, ISBN: 0-201-47950-8, page 801 à 805.

PARTAGER CETTE PAGE SUR
Dernière mise à jour : Samedi, le 2 août 2014