Как решить & ldquo; Предполагается, что сегмент данных является 32-битным & rdquo; в TASM

Я бы рассмотрел использование Splunk HTTP Event Collector .

Вы можете использовать XSLT ou Gatewayscript в сочетании с функцией urlopen Datapower (доступной на обоих языках), чтобы сделать простой HTTP-вызов коллекционеру.

Я нашел здесь здесь ( код под лицензией Apache ), что вызов такой же простой, как вызов https: // SPLUNK_SVR: 8088 / services / collector / event / 1.0 со следующим телом:

{
    "source": "chicken coop",
    "sourcetype": "httpevent",
    "index": "main",
    "host": "farm.local",
    "event": {
        "message": {
            "chickenCount": 500
            "msg": "Chicken coup looks stable.",
            "name": "my logger",
            "put": 98884,
            "temperature": "70F",
            "v": 0
        },
        "severity": "info"
    }
}

Я думаю, что он будет работать лучше на datapower, используя скрипт шлюза, Пример такого вызова можно найти здесь здесь . Посмотрите на первый пример. Вы найдете аналогичный код, в котором я изменил раздел «Данные»:

//Could be added to a library    
var urlopen = require('urlopen');

var jsonData = '{
"source": "Datapower",
"sourcetype": "SOMETHING DYNAMIC",
"index": "main",
"host": "GET_THIS_FROM_DP_VARIABLES",
"event": {
    "message": {
        "SOMECOUNTER": 500
        "msg": "SOME INTERESTING INFORMATION.",
        "name": "GET_THIS_FROM_DP_VARIABLES",
        "put": 3333,
        "yadayada": "foo",
        "bar": 0
        },
        "severity": "info"
    }
}';

var options = {
            target: 'https://SPLUNK_SVR:8088/services/collector/event/1.0',
            method: 'POST',
           headers: { },
       contentType: 'text/plain',
           timeout: 60,
  sslClientProfile: 'AN_EXISTING_SSL_PROFILE_ON_DATAPOWER',
              data: jsonData};

urlopen.open(options, function(error, response) {
  if (error) {
    // an error occurred during the request sending or response header parsing
    console.error("Splunk Logging - urlopen error: "+JSON.stringify(error));
  } else {
    // get the response status code
    var responseStatusCode = response.statusCode;
    var responseReasonPhrase = response.reasonPhrase;
    console.log("Splunk Logging - status code: " + responseStatusCode);
    console.log("Splunk Logging - reason phrase: " + responseReasonPhrase);
    // no need to read response data - This is just logging
  }
});

1
задан Michael 19 January 2019 в 18:10
поделиться

1 ответ

Он останавливается и выдает незаконное чтение / запись всякий раз, когда я использую задержку. Отстойно, что все время нужно создавать реле для условных переходов, когда программа действительно большая.

Это проблема с DOSBox, которая дает сбой функции int 15h AH=86h.
Я обошел проблему, запрограммировав механизм задержки, основанный на таймере BIOS. Вы можете найти все детали в a-low-tech-подхода к измерению скорости игры

Мои первые параграфы соответствуют описанию вашей проблемы:

[1114 ] При разработке игры мне понадобилась процедура задержки, способная выполнять задержки в диапазоне от 0,5 с до нескольких мс. Очевидным выбором было использовать функцию задержки BIOS 86h на 15h. В среде с реальным реальным адресом он работает правильно, но я видел, что эмулятор, такой как DOSBox, все портит. Тонны нелегального чтения и записи . Поэтому мне пришлось придумать другое решение.


Если вас беспокоит размер программы, вы можете изменить эти макросы на подпрограммы. Каждый раз, когда вы вызываете макрос, весь его код вставляется в программу, тогда как подпрограмма кодируется один раз и вызывается несколько раз с помощью простой команды call.


.code
org 100
main proc far
    mov ax, @data
    mov ds, ax
    mov es, ax

Вы уверены, что ваша .model small программа нуждается в этой директиве org 100?

Если, как указано в комментарии [119 ], вы изменили на .model tiny, ORG скорее всего должно быть org 256.

0
ответ дан Sep Roland 19 January 2019 в 18:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: